2012-02-24 16 views
4

RailsアプリケーションがMySQLに正しく接続しているかどうかを確認する簡単な「コマンドライン/コンソール」方法はありますか?Rails 3.2が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がレールコンソールにログインせずに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 
+0

問題のモデルコードを表示できますか?エラーメッセージに基づいて、DB接続よりもコードで問題が発生する可能性が高くなります。また、このテーブルの移行を実行しましたか? – PinnyM

+0

@PinnyMエラーが見つかりました。最初のbelongs_to行で見ることができます。それは読み込まれる必要があります:belongs_to:adhoc_bkg、foreign_key :: abddadhocbkgid。驚くべきことは、私の開発システムでは失敗していないということですが、私がそれを生産に移したとき、それはそうしました。どんな方法であれ、今解決されており、あなたのすべての助けに感謝します。 – nexar

答えて

6

あなたが直接コンソールを使用して接続してみてくださいすることができます

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

それとも、あなたがものを見つける試すことができモデルを持っている場合:

SomeModel.first 
+0

私の編集した記事をご覧ください。ありがとう – nexar

13

接続が確立された後でアクティブになっているかどうかを確認する必要がある場合は、ActiveRecord::Base.connected?方法。

+0

私の編集したポストを参照してください – nexar

+3

いつ接続がアクティブになりますか? PostgreSQL DBを持ち、 'rails server'が走っているRailsアプリケーションのコンソールでこれを実行すると、まだfalseが返されます。 – Dennis

関連する問題