4

Michael Hartl の有名な Rails チュートリアルを実行すると、この問題が発生します。

rails generate modeletcによって作成された移行ファイルにこれがあります:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.string :email

      t.timestamps
    end
  end
end

後で、この 2 番目の移行ファイルを追加しました。

class AddIndexToUsersEmail < ActiveRecord::Migration
  def change
    add_index :users, :email, unique: true
  end
end

データベースを更新して新しいデータベースを含めるようにするために、指示に従って実行しましrake db:migrateたが、これにより、既に存在するテーブルを作成しようとしていることを示すエラーが表示されます。つまり、何かが明らかに不足しています。

私は...最初の移行を削除することになっていますか? それは意味がありません。何をすべきか?

(これらは の下にある唯一のファイルですdb/migrate)

4

3 に答える 3

0

あなたができることは、移行と再実行のカップルをロールバックすることです。

このように移行をロールバックできます

#rake db:rollback STEP=2

そして実行します

#rake db:migrate

それがうまくいくことを願っています

于 2013-08-20T02:01:43.930 に答える