2010-11-20 13 views
1

database.ymlは次のようになります。Railsが私のプロダクションサーバでSQLite3を探しているのはなぜですか?

# 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 

プロジェクトが運用サーバーにロードされていると私は実行しています:

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

と取り戻すの:

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

私がやりましたバンドルがインストールされているが、それがなぜsqlite3を気にするのか分からないのはなぜですか?

FYI - 私のGemfileがあります

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

誰も私が私がめちゃくちゃきたもの見るのを助けることができますか?

+0

gemfileからsqliteを完全に削除しても、これはまだ変わっていませんか?もしそうなら、sqliteを参照するGemfileに依存しているかもしれませんが、そこには売り手の宝石はありますか? – scaney

+0

OK、私はGemfileのsqlite3行をコメントアウトしてからrakeコマンドをもう一度実行します...そして、今度はそれを返すようになります**任意のソースでwebrat = 0.7.2を見つけることができませんでした** Webratがリストされています私のGemfileでは、しかし、 'テスト'グループだけ?!?何を与える? ** Rails 3.0.3 **を使用して(またはしようとすると)... – Meltemi

+0

hmmm、私はアプリケーションが主に定型生成されると仮定?あなたは内部のもので微調整していないのですか? R3.0.3以前のバージョンで生成された実際の元のアプリですか? – scaney

答えて

1

env RAILS_ENV=production bundle install --without development test 

これはルビーを指示し、.bundleディレクトリが作成されます:productionに設定されていない宝石をロードしないでください。

+0

私の知らないこと、申し訳ありませんが、これは新しいですが、宝石は '' sqlite3-ruby''ですか? – Meltemi

+0

はい、それは...急いで書きました。 –

+0

私の元のステートメントの ':require => 'sqlite3''部分はどうなりますか?それはもはや必要ではありませんか? – Meltemi

0

てみランニング:

あなた sqlite3-ruby宝石が :productionが含まれていないグループにすでにある、あなただけ実行できると仮定すると、
export RAILS_ENV='production' 
rake ... 
+0

これは彼が走ったものと同じではありませんか? – alternative

+0

これを試しました...同じ問題... – Meltemi

+0

しかし、エコー '$ RAILS_ENV'は空白行の代わりに' production'を返します。 – Meltemi