環境
aws docker rails rds(postgres)
dropを実行したらエラーが
RAILS_ENV=production bundle exec rake db:drop rake 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
対処方法
指示どうりに、DISABLE_DATABASE_ENVIRONMENT_CHECK=1
をつける
RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
原因を調べる
本番環境でのDBをDROPを防止する機能らしい
確認すると確かにある
sample_db-> \dt; リレーションの一覧 スキーマ | 名前 | 型 | 所有者 ----------+----------------------+----------+-------- public | ar_internal_metadata | テーブル | root
環境情報を保持しているみたい
sample_db=> select * from ar_internal_metadata; key | value | created_at | updated_at -------------+------------+----------------------------+---------------------------- environment | production | 2020-12-11 00:30:28.810193 | 2020-12-11 00:30:28.810193 (1 行)
よくわからんな。笑 とりあえず対処法は先の通り