Как избавиться от ошибки ActiveRecord::ProtectedEnvironmentError?

При попытке сбросить базу данных на локальной машине при помощи 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

Это связано с тем, что текущее рабочее окружение в режиме production. Пытаясь нас уберечь от деструктивного действия (сноса production БД) ActiveRecord останавливает процесс и показывает данную ошибку.

Такое может случиться, когда локально тестировался production-mode приложения и ENV не был переключен обратно в development режим.

Вернуться обратно на development окружение можно при помощи этой команды:

bin/rails db:environment:set RAILS_ENV=development

Соответственно для переключения на staging и production:
bin/rails db:environment:set RAILS_ENV=staging
bin/rails db:environment:set RAILS_ENV=production

Будьте внимательны, работая с отличными от development окружениями. Убедитесь, что локально не используются API-ключи, email-адреса и прочие чувствительные штуки, которые могут вызвать нежелательные действия с production (реальными данными, связями и тд.).
To Top