2011-03-25 61 views
6

我試圖將我的Rails 3應用程序上傳到真實的生產環境。 (該應用程序在我的本地機器上完美運行)。如何在部署時告訴Rails使用生產數據庫(而不是開發數據庫)?

當我運行軌Ç我得到了以下錯誤:

/home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:62:in `establish_connection': development database is not configured (ActiveRecord::AdapterNotSpecified) 
     from /home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:in `establish_connection' 
     from /home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/railtie.rb:59 
     from /home/misha_moroshko/.gems/gems/activesupport-3.0.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval' 

我該如何告訴它應該與生產數據庫而不是開發一個Rails的工作?

回答

21

將RAILS_ENV環境變量第一,或者將它傳遞給鋼軌C命令:

RAILS_ENV=production rails c 

rails c production 
1

這很大程度上取決於您要部署到的「環境」。對於Apache和乘客,可以設置:

# conf/passenger.conf 
RailsEnv production 
RackEnv production 
4

什麼在你的database.yml中?它應該有一個生產環境,你需要告訴軌要在生產環境中運行它:

rails c production 
相關問題