0

現在、複数の本番Herokuアプリと、さらにいくつかの開発中のアプリがあります。

アクティブな開発中のアプリの場合、初期の開発を行っている間に、heroku run rake db:setup、rake db:seedなどのコマンドを実行してデータをリセットすることがよくあります。

本番アプリのherokuコマンドプロンプトでこれらのコマンドを誤って実行してしまう可能性があります。

つまり、herokuアプリレールの特定のrakeタスク(db:reset、db:setup、db:seed)を無効にすることは可能ですか?

4

1 に答える 1

3

適切な「危険な」タスクにタスクの依存関係を追加します。

task :env_check_development => :environment do
    raise Exception.new("CAN ONLY RUN IN DEVELOPMENT") unless ::Rails.env.development?
end

task 'db:migrate' => :env_check_development

それで:

$ RAILS_ENV=test rake db:migrate

rake aborted!
CAN ONLY RUN IN DEVELOPMENT
于 2012-10-11T02:31:25.613 に答える