ローカル環境での開発時は気づかなかったのでが、herokuデプロイ時に色々問題が起きたので、備忘録として書いておきます。
#事の発端
こんなエラーがでて、マイグレートできませんでした。
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
you can't define an already defined column 'name'.
#一度データベースをリセットしてみる
一度データベースをリセットしてマイグレートもし直します。
※データベースの中身は全て消えますので注意!データが消えて困る方は実行しない事!
$ rails db:migrate:reset
で、もう一度マイグレート
$ rails db:migrate
すると、こんなエラーがでました。
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedColumn: ERROR: column "user_id" of relation "scores" does not exist
タイムスタンプ順にマイグレートされていくのですが、あるマイグレートファイルのところでエラーがでました。色々問題はあったのですが、大きな問題としては存在しないカラムをreomoveしようとするマイグレーションファイルが存在していました。それを削除してもう一度マイグレーションを実行すると問題なくマイグレーションできました。