前提・実現したいこと
Herokuでマイグレーションを実行したところ、以下のようなエラーが発生しました。
開発環境:Ruby on Rails 5.1.5
本番環境DB:PostgreSQL
サーバー:Heroku
Herokuへ本番環境にアップしようとしたら下記エラーが発生しました。
コンソールで「heroku run rake db:migrate」後のメッセージです。
発生している問題・エラーメッセージ
Running rake db:migrate on ⬢ stucklearning... up, run.8300 (Free)
D, [2018-03-31T05:36:35.525637 #4] DEBUG -- : (1.3ms) SELECT pg_try_advisory_lock(8152817112922425930)
D, [2018-03-31T05:36:35.554744 #4] DEBUG -- : (8.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
I, [2018-03-31T05:36:35.557360 #4] INFO -- : Migrating to ChangeDatatypeGenreOfItems (20180326022426)
D, [2018-03-31T05:36:35.564014 #4] DEBUG -- : (1.5ms) BEGIN
== 20180326022426 ChangeDatatypeGenreOfItems: migrating =======================
-- change_column(:Items, :Genre, :string)
D, [2018-03-31T05:36:35.567723 #4] DEBUG -- : (2.8ms) ALTER TABLE "Items" ALTER COLUMN "Genre" TYPE character varying
D, [2018-03-31T05:36:35.569781 #4] DEBUG -- : (1.2ms) ROLLBACK
D, [2018-03-31T05:36:35.577383 #4] DEBUG -- : (1.4ms) SELECT pg_advisory_unlock(8152817112922425930)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR: relation "Items" does not exist
: ALTER TABLE "Items" ALTER COLUMN "Genre" TYPE character varying
該当のソースコード
PG::UndefinedTable: ERROR: relation "Items" does not exist
: ALTER TABLE "Items" ALTER COLUMN "Genre" TYPE character varying
試したこと
下記が参考になりそうだったので、20180323012820_create_items.rbを
000020180323012820_create_items.rbや0000create_items.rbにしましたがダメでした、、
https://teratail.com/questions/77287
下記の通り、bundle exec rake db:schema:load RAILS_ENV=production
を試しましたが
http://qiita.com/zaqisuke/items/865fc0eed3ad24dbf3f3
別のエラーが出てしまいました。
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
補足情報(FW/ツールのバージョンなど)
最初のエラーは、Itemsテーブルが作られていないのにChangeDatatypeGenreOfItemsがマイグレーションされているからだと思うのですが、Itemsテーブルのmigrateファイルを最初に読み込ませる方法がわかりません、、
別のエラーについても対処法がわかりません。
なお、今回デプロイしようとしているアプリケーションはWindows環境で作成したものをMac環境へコピーしてデプロイしようとしています。
どなたかお願いします、、
あなたの回答
tips
プレビュー