0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

rails heroku上のDBをリセットする

Last updated at Posted at 2022-02-14

結論

heroku上のDBをリセットするには、以下のコマンドを実行する。

ターミナル.
heroku run rails db:migrate:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1

環境

  • rails 6.0.4.4
  • ruby 2.6.5
  • MySQL 5.6.51
  • heroku

heroku runでDBリセットのコマンドを実行

heroku上のDBをリセットしようと以下のコマンドを実行した。

ターミナル.
heroku run rails db:reset

以下のエラーが発生。

ターミナル.
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

エラー内容をgoogle翻訳で訳すと以下のようになる。

ターミナル.
ActiveRecord :: ProtectedEnvironmentError:「本番」データベースに対して破壊的なアクションを実行しようとしています。
続行することが確実な場合は、環境変数を使用して同じコマンドを実行します。
DISABLE_DATABASE_ENVIRONMENT_CHECK = 1

「データベースに対して破壊的なアクション」が実行されるので、本当に実行する場合は「DISABLE〜(以下省略)」を使用してください、ということらしい。

「DISABLE〜(以下省略)」を追記してコマンドを実行する。

ターミナル.
heroku run rails db:migrate:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1

heroku上のDBが予定通りにリセットされ、アプリの挙動も問題なし。
ローカル環境でDBをリセットした後に、本番環境のDBも忘れずにリセットする必要がある。

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?