2010-11-20 16 views
1

Benim database.yml şöyle görünür:Rails, üretim sunucumda neden SQLite3 arıyor?

# SQLite version 3.x 
# gem install sqlite3-ruby (not necessary on OS X Leopard) 
development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: project_production 
    pool: 5 
    username: root 
    password: mypwd 
    host: /var/mysql/mysql.sock 

proje üretim sunucusuna yüklenen ve ben yürütme ediyorum:

server:projectfolder admin$ rake db:schema:load RAILS_ENV=production 

ve geri alma:

Could not find sqlite3-ruby-1.3.2 in any of the sources 
Try running `bundle install`. 

Yaptığım paket yüklemek ancak prodution neden sqlite3 umurumda bile emin değil misiniz?!?

Bilginize - Benim Gemfile vardır:

group :development, :test do 
    gem 'sqlite3-ruby', :require => 'sqlite3' 
end 

kimse bana felç ettin görmek yardımcı olabilir misiniz?

+0

garip görünmüyor, eğer Gemidüsteki sqlite'i tamamen kaldırırsanız hala bunu yapar mı? Öyleyse, sqlite'ye referans veren bir Gemfile ile bir bağımlılığınız olabilir, herhangi bir satıcı mücevher var mı? – scaney

+0

Tamam, Gemfile'daki sqlite3 satırlarını yorumladım ve daha sonra rake komutumu tekrar çalıştırıyorum ... ve şimdi geri dönüyor diyebiliriz. ** Kaynaklardan hiçbirinde webrat = 0.7.2 bulunamadı. ** Webrat listelendi Gemfile'mde ama sadece 'test' grubunda?!? ne veriyor? ** Rails 3.0.3 ** (veya çalışıyor) kullanarak ... – Meltemi

+0

hmmm, app esas olarak oluşturulan boilerplate olduğunu varsayalım? İçsel bir şeyle uğraşmadın mı? Ayrıca R3.0.3 veya önceki bir sürümü ile oluşturulan gerçek orijinal uygulama oldu mu? – scaney

cevap

1

sizin sqlite3-ruby mücevher :production içermeyen bir gruba zaten varsayarsak, sadece çalıştırabilirsiniz:

env RAILS_ENV=production bundle install --without development test 

Bu .bundle dizin oluşturacaktır, yakut talimat :production'a ayarlanmamış herhangi bir gem yüklememelidir.

+0

cehalet için üzgünüm, bunun için yeni, ama gem 'sqlite3-ruby' olmalıdır? – Meltemi

+0

Evet, yapmalı ... Sadece aceleyle yazdım. –

+0

ok. ve orijinal ifademde ': require => 'sqlite3' 'bölümüne ne olur? artık gerekli değil mi? – Meltemi

0

deneyin koşu:

export RAILS_ENV='production' 
rake ... 
+0

Bu onun koştuğuna eşdeğer değil mi? – alternative

+0

bunu denedi ... aynı sorun ... – Meltemi

+0

ama şimdi echo '$ RAILS_ENV', boş bir satır yerine' production' i döndürüyor. – Meltemi

İlgili konular