如何检查Rails 3.2是否能够连接MySQL?

4

有没有一种简单的“命令行/控制台”方式可以检查Rails应用程序是否正确连接到MySQL?

不幸的是,我无法启动Rails控制台。它报错:

/home/nexargi/www/gi/vendor/ruby/1.9.1/gems/activerecord-3.2.1/lib
  /active_record/dynamic_matchers.rb:50:in `method_missing': undefined
 local variable or method `abddadhocbkgid' for #<Class:0x000000036427f8> (NameError)
    from /home/nexargi/www/gi/app/models/adhoc_bkg_diners_diet.rb:5:in 
`<class:AdhocBkgDinersDiet>'.  

'abddadhocbkid'是第一个表的第一个属性,因此我认为它未能连接到mysql数据库。 我需要找到一种方法,在不登录Rails控制台的情况下检查Rails是否可以连接到mysql数据库。

这是我的模型代码:

class AdhocBkgDinersDiet < ActiveRecord::Base
  validates_presence_of :abddadhocbkgid, :abddmealdietid, :abddadultnos, :abddchildnos
  validates_numericality_of :abddadultnos, :abddchildnos, greater_than_or_equal_to: 0

  belongs_to :adhoc_bkg, foreign_key:abddadhocbkgid
 belongs_to :meal_diet, foreign_key: :abddmealdietid
end

你能展示一下相关的模型代码吗?根据错误信息,问题更可能是代码而非数据库连接。此外,你是否已经对这个表运行了迁移操作? - PinnyM
@PinnyM我找到了错误。你可以在第一个belongs_to行中看到它。应该这样写:belongs_to :adhoc_bkg, foreign_key: :abddadhocbkgid。令人惊讶的是,在我的开发系统上没有出错,但当我将其移到生产环境时却出错了。无论如何,现在问题已经解决了,感谢你的帮助。 - nexar
2个回答

13

3
连接何时会变为活动状态?当我在运行了rails server的PostgreSQL数据库Rails应用程序控制台中运行此命令时,它仍然返回false。 - Dennis

6

您可以尝试使用控制台直接连接:

ActiveRecord::Base.establish_connection(
  Rails.configuration.database_configuration[Rails.env]
)

或者如果您有一个模型,可以尝试找到一个:

SomeModel.first

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接