ActiveRecord::PendingMigrationErrorとエラーが出たときの対処法

ターミナルで以下のようなエラーが出ました。

ターミナル


ActiveRecord::PendingMigrationError (

Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=development

):
migrateできてないんだなと思い、

ターミナル

migrate db:migrate
を実行するも、また以下のようなエラー。

ターミナル


== 20170608000811 CreateBooks: migrating ======================================
-- create_table(:books)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "books" already exists: CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "isbn" varchar, "title" varchar, "price" integer, "publish" date, "dl" boolean, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
もうモデルを初期化しようと、

ターミナル

rails destroy model_name
を実行するも、エラーはなくならない。 もう初期化してしまえ、と以下のコマンドを実行。

ターミナル

rake db:migrate:reset
これで解決した。勉強のためにモデルを作成してたから、初期化しても問題なかったけど、実際の運用では使えんな…もっと勉強しないと。 以上!

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください