作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我将批处理文件放在 lib 文件夹中并使用 rails db 配置,像这样的事件记录。
require "#{File.dirname(__FILE__)}/../config/environment.rb"
class Batch
def hello
Message.new do |t|
t.title = "hello"
t.save
end
end
end
batch = Batch.new
batch.hello
执行批处理时
ruby lib/batch.rb
在开发环境下没问题
但生产环境仍然保存开发数据库...
我如何像这样设置 rails_env batch.rb
ruby lib/batch.rb RAILS_ENV=production
最佳答案
初始化 Rails 环境,而不是放置
require "#{File.dirname(__FILE__)}/../config/environment.rb"
使用 script/runner
启动批处理文件并使用 -e
选项指定环境
例如
script/runner -e production lib/batch.rb
我认为以上是编写和执行需要初始化 Rails 框架才能工作的脚本的 Rails 方式。替代方案,如 neutrino说,是在命令前加上 RAILS_ENV=value 例如
$ RAILS_ENV=production lib/batch.rb
这是一个标准的 shell 功能,用于在执行命令之前设置环境变量。
关于ruby-on-rails - 如何为脚本或批处理文件设置 rails_env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2223547/
我是一名优秀的程序员,十分优秀!