LoginSignup
42
29

More than 3 years have passed since last update.

HerokuのRailsアプリのDBリセット方法

Posted at

はじめに

Heroku上にあるRailsアプリのPostgresのDBリセット方法です。
最初にheroku run rails db:reset -a アプリ名を行うも途中でエラーが発生。↓

ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database.
If you are sure you want to continue, run the same command with the environment variable:
DISABLE_DATABASE_ENVIRONMENT_CHECK=1

DB破壊系のコマンドを実行する際にはDISABLE_DATABASE_ENVIRONMENT_CHECK=1を付け足せとメッセージが表示。
再度上記環境変数を付け足してコマンド実行も

rails aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

今度は権限がないとエラー。  

解決方法

heroku pg:reset -a アプリ名コマンド実行。

▸    WARNING: Destructive action
 ▸    データベース名 will lose all of its data
 ▸    
 ▸    To proceed, type アプリ名 or re-run this command with --confirm

ここで先に進むためには再度アプリ名を入力するか、同じコマンドに--confirmを付け足して再度実行しろとメッセージ、指示通りにコマンドを打てばリセット完了。
リセット後アプリを開く際にはheroku run rails db:migrateコマンドも忘れずに。

最後に

DB周りのエラーは、初学者がアプリをローカル環境から本番環境に移行する際に非常によく遭遇しますね。
この記事が少しでも役に立てば幸いです。

42
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
29