Lokálně można zobaczyć błąd
ActiveRecord::ProtectedEnvironmentError w przypadku, gdy próbujesz uzyskać dostęp do środowiska, które jest chronione (protected), na przykład
production lub
staging, z kontekstu, gdzie jest to zabronione.
Prosty przykład - zrobiłem backup bazy postgresql na Heroku. Zaimportowałem ją lokalnie. A kiedy chciałem usunąć bazę - otrzymałem błąd o próbie usunięcia chronionej bazy danych (production).
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
To znaczy, że polecenie do usunięcia chronionej bazy będzie wyglądać tak:
DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rake db:drop;
Uważaj. Musisz rozumieć, co robisz i po co. Nie usuń przypadkowo bazy produkcyjnej swojego projektu. Błąd ActiveRecord::ProtectedEnvironmentError to ochrona przed przypadkowym usunięciem ważnej bazy danych.