2017-06-02 60 views
0
class CreateComments < ActiveRecord::Migration 
    def change 
    create_table :comments do |t| 
     t.integer :link_id 
     t.text :body 
     t.references :user, index: true, foreign_key: true 

     t.timestamps null: false 
    end 
    add_index :comments, :link_id 
    end 
end 

我部署我的應用程序的Heroku,不得不當我遷移我的數據庫,我流汗這NameError:未初始化不斷CreateCommments Ruby on Rails的

NameError: uninitialized constant CreateCommments 

重做SQLite中3的PG insteand數據庫我一整天都在搜索,並嘗試了很多解決方案,但無濟於事。我搜索了拼寫錯誤,刪除了,重新創建了數據庫。我的database.yml是最新的,寶石和gemlock是乾淨的sqlite,但它不會停止對我大喊大叫。先謝謝你。

+1

您使用的是哪個版本的Rails?該遷移的完整文件名和路徑是什麼? – spickermann

+0

現在我正在使用2.2.1p85我試圖把一箇舊項目上移 – AAvelleyra

回答

1

錯誤是因爲文件名不正確。它必須與當時在蛇的情況下類名稱的時間,像

20170602175844_create_comments.rb 

當然你也可以手動做到這一點,只需更改文件名,或者在控制檯中運行,並得到一個新的遷移

rails g migration create_comments 

注:

它不是一個時間戳雖然,這只是Rails Rake任務的做法。您也可以使用數字順序,就像手動創建文件一樣。這只是爲了能夠查看遷移已經運行並能夠回滾到特定版本。也是爲了使遷移按特定順序運行。

1_create_comments.rb 
+0

遷移文件確實有一個時間戳,這就是爲什麼我很困惑。 – AAvelleyra

+0

什麼是文件名? – Iceman

+0

20160128212901_create_commments.rb 在我的遷移文件夾 – AAvelleyra

相關問題