Ruby on rails を学習中の方の参考にしてもらえたら嬉しいです。
アプリケーションを作成している時に出てくるエラーとその解決方法について掲載します。
少しでも参考にしていただけると幸いです。
今回は ActiveRecord::Pending MigrationError というエラーの解決方法をお話しします。
結論から
結論からお話しすると、作成したデータベース(db)をrails db:migrateでマイグレーションを完了していないために出ているエラーです。 なので rails db:migrate で完了してあげれば解決です。 そのプロセスについてみていきます。解決策
▼このエラーを解決していきますstatsの確認
▼まず下の画像のように rails db:migrate:status を行い、スタッツを確認します。
画像のようにdownならUPにします
▲この時にハマった事例を紹介します。
migratできないなら他に原因がある
▼単にrails db:migrate を行っても以下のようなエラーが発生し、migrateが完了しませんでした。
まあ内容をちゃんと読んでいけば全て書いてありますが、どうゆう内容かというと『articlesはdeviseのテーブルに依存関係がある』ので、deviseを先にUPにしてあげないとうまくいきません。なので作成日時をいじります
▼vscodeでdbのこの画面から名前の変更をしてあげます。上の画像と見比べるとdeviseの数字が変わっているのが分かります。
▼その後 rails db:migrate を実行してあげると・・・
いかがでしたでしょうか?
他にも記事を発信していきますので、私の QiitaやTwitterをフォローしていただけると嬉しいです。
個別の質問もぜひ歓迎します。
私自身、初学者ではありますが、1歩先を行くものとして回答できたらと思います。
それでは。