如何编写使用生产环境而不是开发的ruby脚本?

时间:2011-11-16 10:15:30

标签: ruby-on-rails ruby ruby-on-rails-3.1

我编写了一个需要config/environment.rb的ruby脚本,所以我可以在脚本中使用我的rails应用程序的所有模型,但问题是我想使用production环境而不是{ {1}}环境似乎是默认行为。

我正在使用Rails 3.1.1和Ruby 1.9.2

如何使用develoment环境运行脚本?

3 个答案:

答案 0 :(得分:2)

您的脚本将环境变量RAILS_ENV作为要使用的环境。

我非常警惕在脚本中覆盖它,因为如果您尝试在另一个环境中运行脚本,可能会引起很多混乱 - 例如暂存 - 它开始尝试访问生产数据库等。

所以要么:

RAILS_ENV=production ./script/my-awesome-script

export RAILS_ENV=production
./script/my-awesome-script

一般来说;当我登录到生产Rails环境时,如果我没有将其配置为默认的“生产”,我将立即改变环境。

答案 1 :(得分:1)

我认为您希望脚本中有Rails.env = 'production'ENV['RAILS_ENV'] = 'production'

答案 2 :(得分:0)

@davidb,我不确定你还想要什么也没有在rails上好,但可能你可以使用seed.rb(即种子功能)来实现你想要的东西,如果这个脚本只运行一次或有时作为我们可以在运行种子时指定环境

rake db:seed RAILS_ENV = production