如何检查Rails 3.2是否可以连接到MySQL?

nex*_*xar 4 mysql ruby-on-rails-3

是否有一种简单的"命令行/控制台"方式来检查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>'.  
Run Code Online (Sandbox Code Playgroud)

该"abddadhocbkid"是第一台的第一属性,因此,我认为它不负责管理连接到MySQL数据库.我需要找到一种方法来检查Rails是否可以连接到mysql数据库而无需登录rails控制台.

这是我的型号代码:

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
Run Code Online (Sandbox Code Playgroud)

bha*_*mby 13

如果您只需要在建立连接后检查连接是否处于活动状态,则可以使用该ActiveRecord::Base.connected?方法.

  • 连接何时激活?当我在控制台中为具有PostgreSQL数据库并且`rails server`运行的Rails应用程序运行时,这仍然返回false. (3认同)

Pin*_*nyM 6

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

ActiveRecord::Base.establish_connection(
  Rails.configuration.database_configuration[Rails.env]
)
Run Code Online (Sandbox Code Playgroud)

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

SomeModel.first
Run Code Online (Sandbox Code Playgroud)