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 控制台中处理数据并想要删除和恢复数据后,我现在收到此错误。
我正在本地主机上的 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 控制台中处理数据并想要删除和恢复数据后,我现在收到此错误。