2015-10-15 92 views
0

我遇到了一個Rails項目,其中遷移似乎沒有影響數據庫/表。ruby​​ rails migrate沒有更新數據庫

導軌4 /紅寶石2.0/Sqllite /開發版本

以前,如果我設置遷移,結果會反映數據庫和表中(使用一個SQLite數據瀏覽器)

現在,當我創建遷移,它運行的錯誤代碼爲0,但數據庫中沒有任何更改。例如,如果我設置了此遷移並運行Rake d:migrate,則不會向數據庫添加任何內容。

class CreateTestModel < ActiveRecord::Migration 
    def change 

     def up 
     create_table :products do |t| 
      t.string :name 
      t.text :description 

      t.timestamps 
     end 
     end 

     def down 
     drop_table :products 
     end 


    end 
end 

耙遷移用0

℃的錯誤代碼運行:\ Ruby200 \ BIN \ ruby​​.exe -e $ stdout.sync =真; $ stderr.sync = TRUE;負載($ 0 = ARGV.shift) C:/ Users/cmendla/RubymineProjects/Rl2/bin/rake db:migrate C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib /action_dispatch/http/mime_type.rb:163:警告:已經初始化常量Mime :: PDF C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/ mime_type.rb:163:警告:以前的PDF定義在這裏是 C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:已經初始化常量Mime :: BMP C:/ Ruby200 /lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:以前的BMP定義在這裏: C:/Ruby200/lib/ruby/gems /2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:已經初始化常量Mime :: JPEG C:/Ruby200/lib/ruby/gems/2.0.0/ gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:以前JPEG的定義在這裏是 C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2。 4/lib/action_dispatch/http/mime_type.rb:163:警告:已初始化常量Mime :: JPG C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch /http/mime_type.rb:163:警告:以前JPG的定義是在這裏 C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:已經初始化常量Mime :: GIF C:/Ruby200/lib/ruby/gems/2.0.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:以前的GIF定義在這裏 == 20151015154920 CreateTestModel :遷移================================== == 20151015154920 CreateTestModel:遷移(0.0000s)=== ======================

過程完成,退出代碼爲0

我猜想,也許是SQL數據庫被鎖定。我沒有重啓我的筆記本電腦也沒有工作。

注 - 我有很多搞砸了遷移。我試圖通過刪除一些後來的遷移和未使用的數據表來理清這些事情。不確定是否會導致問題。

+0

因此運行'rake:db:migrate'時沒有錯誤? –

回答

0

更改爲

class CreateTestModel < ActiveRecord::Migration 
    def change 
    create_table :products do |t| 
     t.string :name 
     t.text :description 
     t.timestamps 
    end 
    end 
end 

或者

class CreateTestModel < ActiveRecord::Migration 
    def up 
    create_table :products do |t| 
     t.string :name 
     t.text :description 
     t.timestamps 
    end 
    end 

    def down 
    drop_table :products 
    end 

end 

相當肯定你的問題是具有向上和向下的變化之一中的方法。

然後重新運行遷移。

+0

謝謝。你是對的。改變內部的上/下是問題所在。 –