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

标签 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),它告诉 JRuby 在我使用 Rails 时运行 1.9 版。

要让 JRuby 1.9 与 ActiveRecord 3.0.10 一起运行以访问 MySQL 数据库,我缺少什么?

最佳答案

将您的要求更改为:

require 'active_record'

关于mysql - 如何在 Rails 之外的 JRuby 脚本中使用 ActiveRecord?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408439/

相关文章:

java - 无法创建 PoolableConnectionFactory

mysql - 数据库设计——哪一种更好?

mysql - 如何改进 MySQL 中的 SELECT 子查询?

ruby-on-rails-3 - Rails 3 只选择值

ruby - 错误 : private method `gsub' called for nil:NilClass with pik install ruby 1. 9.3

php - 迁移到新域时 Prestashop 将不起作用

ruby-on-rails - ActiveRecord SessionStore 的性能

mysql - 如何通过sql查询有效检查记录是否存在?

ruby-on-rails - 这个 ruby​​ on Rails 代码线程安全吗?

ruby-on-rails - Windows 上 Paperclip 和 JRuby 的路径错误