ActiveRecord::PendingMigrationError のエラーの対処
このエラーを検索してこのブログにたどり着いた人のために、解説しておこうと思う。
Migrations are pending
上記のような文があると思うが、migrationsが保留になっている。という意味。
つまり、 rails db:maigration を行ったなら、その手前の作業で、問題が起きたということ。
私の場合は以下のエラーが出ていた。
SQLite3::SQLException: no such table: movies: ALTER TABLE "movies" ADD "evaluation" float
つまり原因は、カラム追加するコマンドを打ったがそのときmovieというテーブルで作成させたが、そんなテーブルはないよと言っている。
つまり、カラム追加の作業に原因があった。
であれば、対処は一つ、db/migrate/ にあるマイグレートファイルの、最近いじったファイルを開き、そのファイルでは、間違えて打ってしまったテーブルが記載されている。それを既存のテーブルに書き換えて、migrationすると、エラーは消えます。