ActiveRecord::PendingMigrationErrorというエラーメッセージが出ますが解決できません。
自分で調べてみたのは、マイグレーションファイルを一旦削除して再びマイグレートする手順を試してみましたが、解決できず、マイグレーションファイルが現在どのような状態か把握できなくなってしまいわからない状況です。
Migrations are pending. To resolve this issue, run: bin/rails db:migrate RAILS_ENV=development
このエラーが出るまでに実行した手順は以下の通りです。
rb
1$ rails db:migrateしたが応答なし
↓
rb
1$ rails db:resetを実行したのち、Udemyを参考にしたものは削除した
↓
rb
1$ rails g migration AddColumnToTask
↓
作成したファイルにカラムおよびデータ型を追加
rb
1class AddColumnToTask < ActiveRecord::Migration[5.2] 2 def change 3 add_column :tasks, :title, :string 4 add_column :tasks, :content, :text 5 end 6end
↓
rb
1再び$ rails db:migrate
↓
== 20181211021333 AddColumnToTask: migrating ================================== -- add_column(:tasks, :title, :string) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: SQLite3::SQLException: duplicate column name: title: ALTER TABLE "tasks" ADD "title" varchar /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: ActiveRecord::StatementInvalid: SQLite3::SQLException: duplicate column name: title: ALTER TABLE "tasks" ADD "title" varchar /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: SQLite3::SQLException: duplicate column name: title /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace)
適応されたと思っていたが適応されていなかったようで、ここから再び
rb
1rails db:migrate reset 2rails db:migrate
の手順を踏んだが解決できず進めない状況です。
気になる点
development.sqlite3のファイルが点滅していないので、sqlite3が適応されていない。
text.sqlite3も同様
追記
$ rails db:migrate:status database: /Users/masaki/task_app/db/development.sqlite3 Status Migration ID Migration Name -------------------------------------------------- up 20181206051200 Create tasks up 20181211021333 ********** NO FILE ********** down 20181211040344 Add column to task
このような状況です
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/13 04:06