2012-05-03 35 views
8

OS X geliştirme dizüstü bilgisayarımda her şey iyi çalışıyor.Üretim Rayları konsolu başlamıyor

Uygulamayı üretime dağıtın ve verileri beklendiği gibi çalıştırır ve görüntüler. Ancak

, ben Raylar bir hata alıyorum üretim sunucusunda konsolu çalıştırmayı denediğinizde ...

$ rails console -e production 
/opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44: 
    in `connect': Can't connect to local MySQL server through socket 
     '/tmp/mysql.sock' (2) (Mysql2::Error) 

    from /opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' 
    from /opt/deployed_rails_apps/con_app_rails_3/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' 

ben database.yml gelen socket: /tmp/mysql.sock çıkarmadan çalıştı - aynı sonucu.

Uygulama çalışmasına rağmen, belirli görevleri gerçekleştirmek için üretimde konsola erişebilmem gerekiyor.

MySQL komut satırı istemcisini kullanarak MySQL sunucusuna bağlanabiliyorum.


yakut 1.9.3p125

Raylar 3.2.2

mysql2 mücevher 0.3.11

MySQL sunucusu: 5.1.61

Üretim konak: Linux 2.6.32- 220.4.2.el6.x86_64

database.yml

cevap

35

Çözüldü.

ben yapmak için gerekli tüm ...

$ RAILS_ENV=production bundle exec rails console 
+0

'Bundle bundle' yapmam gerekmiyordu, ancak komut satırında 'RAILS_ENV = production' FIRST değerini belirtmek önemliydi. –

8

Bunu yapmanın bir başka yolu:

./script/rails console production

1

Ben kaçak ile çözüldü:

RAILS_ENV=production bundle exec rails c 

daha fazla detay üzerinde link