0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ActiveRecord :: PendingMigrationError について

Posted at

URL http://localhost:3000/rails/actionsにアクセスした際に
ActiveRecord :: PendingMigrationError
と表示される
当該ページの 保留中の移行を実行する を押すと
StandardError
と表示される

■仮説
ActiveRecord :: PendingMigrationError
をインターネットで検索してみる
https://qiita.com/KONTA2019/items/0444ae3b8c8936a56ee0
当ページのエラーの原因2に注目

Mysql2 :: Error:テーブル 'users'はすでに存在します
とあるので、
migrationが完了している(up)状態でマイグレーションファイルを更新しrails db:migrateしてしまった
のが問題ではないか。

■検証
・$ rails db:migrate:reset
 を実行し再度マイグレーションをupにする
→変化なし

・$ rails db:rollback
 $ rails db:migrate
を行い、マイグレーションを差し戻し、再度マイグレートする
→変化なし

以下エラーのスクショ
https://gyazo.com/23116ecff6eb24e08bb514bd3ce7df76

結果
migtate/create_users.rbがダブっていることが原因。片方のファイルを削除することでこのエラーは解決。
仮説ではusers.rbがある上で上書きできないので差し戻してから、再度マイグレイトすることで治ると思ったが、
すでに作成されており、ファイルがダブっていることが原因とは見当が違った。
その他、初期設定のミス。さらに細かい部分のミスがあったので、全て直した(してもらった)。

反省
ファイルが重複した原因は聞けなかったが、おそらくrollbackしないでrails db:migrateを行ったことだと思う。マイグレーションをおなうときは注意が必要。
ケアレスミスに関しては注意を払って進めていくことが重要。
以下、修正後のスクショ
https://gyazo.com/e710ebcf079d3f2fbf1be35ae3dfaa62

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?