##はじめに
ポートフォリオを作成するなかで、エラーになった箇所と解決方法を簡単にまとめました。
基本的な部分ですが、自分用のメモとして残しておきます。
##エラーの内容
PG::UndefinedTable: ERROR: relation "モデル名" does not exist
rails db:migrateを実行したときに上記のようなエラーとなりました。
##結論
マイグレーションを実行した時に、親テーブル(外部キーを参照される側)から実行しなければならない。
今回の場合は、子テーブル(外部キーを参照する側)から実行してしまったで上記のエラーになってしまいました。
##解決法
###マイグレーションファイルを確認する
Status Migration ID Migration Name
--------------------------------------------------
down 2021xxxxxxxxxx Create comments 【子テーブル】
down 2021yyyyyyyyyy Create documents
down 2021zzzzzzzzzz Create users 【親テーブル】
この場合、親テーブルであるusers
テーブルとdocuments
テーブルを先に実行する必要がある。
###マイグレーションファイルを一つずつ実行する
下記の通り、親テーブルを指定して実行する。
rails db:migrate:up VERSION=2021zzzzzzzzzz
親テーブルを実行出来たら、あとはrails db:migrate
を実行すれば大丈夫です。
##おわりに
基礎的な内容でしたが、逐一エラーになって躓いた部分や理解したことはまとめていきたいと思います。