ActiveRecord::ProtectedEnvironmentErrorを回避する

production環境でdb:resetを実行すると、次のようなエラーが発生します。

rails aborted!
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
bin/rails:9:in `require'
bin/rails:9:in `<main>'
Tasks: TOP => db:reset => db:drop => db:check_protected_environments
(See full trace by running task with --trace)

DISABLE_DATABASE_ENVIRONMENT_CHECKフラグを立ててあげると、一応回避することも可能です。

bin/rails db:reset RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1

基本的にproduction環境でdb:resetをすることはないと思いますが、リリース前の検証などには使えるかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です