LoginSignup
0
0

【解決方法】ActiveRecord::Pending MigrationError とは?

Last updated at Posted at 2023-05-20

Ruby on rails を学習中の方の参考にしてもらえたら嬉しいです。
アプリケーションを作成している時に出てくるエラーとその解決方法について掲載します。
少しでも参考にしていただけると幸いです。 
今回は ActiveRecord::Pending MigrationError というエラーの解決方法をお話しします。

スクリーンショット 2023-05-19 7.04.25.png

結論から

結論からお話しすると、作成したデータベース(db)をrails db:migrateでマイグレーションを完了していないために出ているエラーです。 なので rails db:migrate で完了してあげれば解決です。 そのプロセスについてみていきます。

解決策

▼このエラーを解決していきます

スクリーンショット 2023-05-19 6.48.47.png

▼下の画像の中に解決策が書かれています
スクリーンショット 2023-05-19 6.52.25.png

statsの確認

▼まず下の画像のように  rails db:migrate:status を行い、スタッツを確認します。
画像のようにdownならUPにします
スクリーンショット 2023-05-21 5.50.37.png
▲この時にハマった事例を紹介します。

migratできないなら他に原因がある

▼単にrails db:migrate を行っても以下のようなエラーが発生し、migrateが完了しませんでした。
まあ内容をちゃんと読んでいけば全て書いてありますが、どうゆう内容かというと『articlesはdeviseのテーブルに依存関係がある』ので、deviseを先にUPにしてあげないとうまくいきません。なので作成日時をいじります

スクリーンショット 2023-05-19 7.08.59.png

▼vscodeでdbのこの画面から名前の変更をしてあげます。上の画像と見比べるとdeviseの数字が変わっているのが分かります。
スクリーンショット 2023-05-21 5.53.43.png

▼その後 rails db:migrate を実行してあげると・・・
スクリーンショット 2023-05-21 5.54.15.png

▼下の画像のようにちゃんと表示ができるようになりました。
スクリーンショット 2023-05-21 6.12.30.png

いかがでしたでしょうか?
他にも記事を発信していきますので、私の QiitaやTwitterをフォローしていただけると嬉しいです。
個別の質問もぜひ歓迎します。
私自身、初学者ではありますが、1歩先を行くものとして回答できたらと思います。
それでは。

0
0
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
0