如何在Rails外的JRuby脚本中使用ActiveRecord?

时间:2011-12-06 23:33:28

标签: mysql activerecord jruby

我想使用JRuby来运行填充数据库的脚本。我已经在另一个应用程序中为Rails服务器运行JRuby / Rails,这个设置有效。

我运行了脚本(foo.rb),直到我尝试在第2行中包含ActiveRecord gem。代码如下所示:

require 'rubygems'
require 'activerecord'
require 'csv'
nf=[]
Dir["./*.*"].each{|f|nf<<f if File::ctime(f) + 600 > Time.now} 
nf.each{|f| p f.inspect}

我得到的错误如下:

unix> jruby --1.9 foo.rb
LoadError: no such file to load -- activerecord
require at org/jruby/RubyKernel.java:1047
require at /home/user/.rbenv/versions/jruby-1.6.4/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36
(root) at foo.rb:2

我的gem列表包括所有rails 3.0.10,activerecord 3.0.10,activerecord-jdbc-adapter 1.2.0,activerecord -jdbcmysql-adapter 1.2.0。

我还有一个环境变量(JRUBY-OPTS = - 1.9),当我使用Rails时,它告诉JRuby运行版本1.9。

为了让JRuby 1.9与ActiveRecord 3.0.10一起运行到MySQL数据库,我缺少什么?

1 个答案:

答案 0 :(得分:4)

将您的要求更改为:

require 'active_record'