プロダクションデータベースを削除しようとしているので、新しく始めることができます。レール4からレール5にアップグレードした時点で、運用データベースが偶発的に削除されることを防ぎます。 rake db:reset
を実行すると、次のエラーメッセージが表示されます。Rails 5プロダクションpostgresデータベースをクリアまたは削除する方法
/app# rake db:reset
ActiveRecord::SchemaMigration Load (1.8ms) SELECT "schema_migrations".* FROM "schema_migrations"
(1.6ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
(0.3ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
(0.2ms) SELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 [["key", :environment]]
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
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:51:in `check_protected_environments!'
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:11:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:reset => db:drop => db:check_protected_environments
(See full trace by running task with --trace)
は、それは私が動作するはずコマンドに環境変数DISABLE_DATABASE_ENVIRONMENT_CHECK = 1を追加しますが、それはしないと言っています。私はそれを実行し、それは何もしません。
<606723-x9dh4:/app# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rake db:reset
ActiveRecord::SchemaMigration Load (1.6ms) SELECT "schema_migrations".* FROM "schema_migrations"
誰かが間違っていることを知っていますか?助けを感謝します!
更新日:
私のサーバーはkubernetesを使用して配備されています。私は、サーバーが稼働しているためデータベースをリセットできないと推測しています。
後にあなたの代わりに、 'RAILS_ENV =生産DISABLE_DATABASE_ENVIRONMENT_CHECK = 1本のビン/レールデシベルのような熊手のレールを使用して試すことができます: – neydroid
ませんLUCをreset' k、ちょうど同じことをします。 –