如何编写使用生产环境而不是开发环境的 ruby 脚本?
Posted
技术标签:
【中文标题】如何编写使用生产环境而不是开发环境的 ruby 脚本?【英文标题】:How to write ruby script that uses the production environment instead of development? 【发布时间】:2011-11-16 10:15:30 【问题描述】:我编写了一个需要 config/environment.rb
的 ruby 脚本,因此我可以在脚本中使用我的 rails 应用程序的所有模型,但问题是我想使用 production
环境而不是 develoment
环境似乎是默认行为。
我正在使用 Rails 3.1.1 和 Ruby 1.9.2
如何在production
环境下运行脚本?
【问题讨论】:
【参考方案1】:您的脚本将使用环境变量 RAILS_ENV 作为环境。
我会非常谨慎地在脚本中覆盖它,因为如果您尝试在另一个环境中运行您的脚本可能会导致很多混乱 - 例如。 staging - 它开始尝试访问生产数据库等。
要么这样做:
RAILS_ENV=production ./script/my-awesome-script
或
export RAILS_ENV=production
./script/my-awesome-script
一般来说;当我登录到生产 Rails 环境时,如果我没有将其默认配置为“生产”,我会立即更改环境。
【讨论】:
非常感谢!RAILS_ENV=production ./script/my-awesome-script
是唯一对我有用的!【参考方案2】:
我认为您的脚本中需要Rails.env = 'production'
或ENV['RAILS_ENV'] = 'production'
。
【讨论】:
【参考方案3】:@davidb,我不确定你想要什么在 Rails 上也没有那么好,但如果这个脚本只运行一次或有时作为我们可以在运行种子时指定环境
rake db:seed RAILS_ENV=production
【讨论】:
以上是关于如何编写使用生产环境而不是开发环境的 ruby 脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 SwiftUI 应用程序使用 Firebase Functions 模拟器而不是生产环境?