0

我现在有多个生产 Heroku 应用程序,还有几个正在开发中。

对于正在积极开发的应用程序,我经常在我仍在进行早期开发时运行诸如 heroku run rake db:setup、rake db:seed 之类的命令来重置数据。

在生产应用程序的 heroku 命令提示符下,我可能会意外运行这些命令,这可能会很糟糕。

简而言之,是否可以为 heroku 应用程序 rails 禁用某些 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 回答