問題と経緯
Herokuにpushしたrailsアプリがクラッシュした状態(H10エラー)です。
原因はDB周りにあり、migrateをまだしていない時と似たような状態かと思います。
この状態になった原因は他のエラーを修正するためにローカルのpostgresqlをアンインストールして入れ直したりしたことだと思います。
Heroku上にはDBがあるもののアプリとDBのリンクができていないという状態かと思われます。
現在の状況
・Herokuにデータの入ったDBがある
・DBのバックアップは取っている
・ローカルではrails db:migrate:resetでDBを作り直し、バックアップのdumpファイルからデータを入れ直すことで解決できている
・migrateして作成したいテーブルは既存のもの(バックアップ)と全く同じ
試したこと
ローカルと同じようにheroku run rails db:migrate:resetでDBを作り直そうとしましたが、本番環境のデータを消していいのかと言われDBの作り直しができません。
もし実行していいのならDISABLE_DATABASE_ENVIRONMENT_CHECK=1をつけて叩けと言われるので
heroku run DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rails db:drop db:create db:migrate
を試しましたが、drop操作に対して
Database 'df57n6e4e9pfvj' does not exist connection to server at "ec2-数字.compute-1.amazonaws.com" (23.22.191.232), port 5432 failed: FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege. Couldn't create 'df57n6e4e9pfvj' database. Please check your configuration. rails aborted! ActiveRecord::NoDatabaseError: connection to server at "ec2-数字.compute-1.amazonaws.com" (23.22.191.232), port 5432 failed: FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege.
とエラーが出るため実行されません。
ご教授いただきたい解決法
1.HerokuのDBの破壊をせずに既存のDBとアプリをリンクさせる方法
2.ローカルで実行したようにDBを作成し直してバックアップのデータを入れる方法
あまりDBの破壊はしたくないので1の方法がありましたらありがたいです。
補足情報(FW/ツールのバージョンなど)
アプリのpostgresqlのバージョン:13.5
HerokuのPG Version: 13.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。