2017-06-02 18 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は

NameError: uninitialized constant CreateCommments 

をgetttingいますsqliteの3ののPG insteandでデータベースをやり直ししなければなりませんでした。私は一日中検索していますが、多くのソリューションを試してみましたが、無駄です。私はスペルのエラーを検索し、落として、データベースを再作成しました。私のdatabase.ymlは最新のもので、gemとgemlockはsqliteをきれいにしていますが、私には叫ぶのを止めることはできません。前もって感謝します。

+1

どのバージョンのRailsを使用しますか?その移行の完全なファイル名とパスは何ですか? – spickermann

+0

今私は2.2.1p85を使用しています古いプロジェクトを入れようとしていました – AAvelleyra

答えて

1

エラーは、ファイル名が正しくないためです。それはあなたが、もちろんこれを手動で行うと、ちょうど新しい移行を、ファイル名を変更、またはコンソールで実行して取得することができます

20170602175844_create_comments.rb 

のように、その後、ヘビの場合、クラス名とタイムスタンプにする必要があり

rails g migration create_comments 

注:

それはがあること、しかし、タイムスタンプであることをを持っていませんレールがレーキの仕事と同じように。手動でファイルを作成する場合のように数値シーケンスを使用することもできます。これは、すでに実行されている移行を確認し、特定のバージョンにロールバックできるようにするためのものです。また、移行が特定の順序で実行されるようにします。

1_create_comments.rb 
+0

マイグレーションファイルにタイムスタンプがあります。 – AAvelleyra

+0

ファイル名は何ですか? – Iceman

+0

20160128212901_create_commments.rb はマイマイフォルダーにあります – AAvelleyra

関連する問題