事の発端としては、Scoreというテーブルにuserカラムを追加しようと、
rails g migration AddUserToScores user:references
と実行するところを間違えて、
rails g migration AddUserToTasks user:references
と入力してしまいました。気づかずmigrateまでしてしまいました。
その後、間違いに気付き、
rails g migration AddUserToTasks user:references
を実行し、rails db:migrateをしようとしたところ、下記のようなエラーが出ております。
(:tasks, :user, {:foreign_key=>true})がまだマイグレーションできてないよーっていう意味じゃなかなとはおもっているのですが、マイグレーションしようとしても出来ない状態です。
scoresテーブルを確認しまいしたが、userは当然追加されていませんでした。
(migrate fileは作られていました。)
どのような原因が考えられるでしょうか。アドバイス宜しくお願い致します。
ec2-user:~/environment/livescore (master) $ rails db:migrate== 20200902133822 AddUserToTasks: migrating =================================== -- add_reference(:tasks, :user, {:foreign_key=>true}) rails aborted! StandardError: An error has occurred, all later migrations canceled:
migrate file
class AddUserToScores < ActiveRecord::Migration[5.2] def change add_reference :scores, :user, foreign_key: true end end
class AddUserToTasks < ActiveRecord::Migration[5.2] def change add_reference :tasks, :user, foreign_key: true end end
回答1件
あなたの回答
tips
プレビュー