RAILS_ENV 未按预期工作。如何设置环境?

RAILS_ENV is not working as expected. How to set the environment?

我正在本地主机上的 rails5 中配置一个新应用程序,但在建立我的环境时遇到了一些问题。我将我的环境变量设置为 "development" 但每当我 运行 rake db:drop 它会说以下

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

但是我的环境设置为开发而不是生产:

sam$ printenv | grep RAILS_ENV
RAILS_ENV=development

我忘记了什么?

非常感谢您查看此内容。

编辑:我的 yaml 看起来像这样

default: &default
  adapter: mysql2
  encoding: utf8
  username: ZZZZZZZ
  database: YYYYYYY
  host: 127.0.0.1
  socket: /tmp/mysql.sock
  password: XXXXXXXXX

development:
  <<: *default
  reconnect: true

您可以设置环境使用 bin/rails db:environment:set RAILS_ENV=development

如果您要删除的数据库是生产副本,ar_internal_metadata 将保存值 production 并且 rails db:drop 会抛出您看到的错误。 运行 migrate 将值更改为 development

rails db:migrate
...
ActiveRecord::InternalMetadata Update (0.4ms)  UPDATE "ar_internal_metadata" SET "value" = , "updated_at" =  WHERE "ar_internal_metadata"."key" =   [["value", "development"]
...

现在您可以无错误地删除数据库。导入然后删除可能没有意义,但在本地 rails 控制台中处理数据并想要删除和恢复数据后,我现在收到此错误。