2011-07-07 25 views
1

私はHerokuとVPSでホストされているアプリを持っています。私はモンゴイドとこのアプリでmongodbを使用しています。私はmongoid.ymlでデータベース接続を定義する正しい方法が何であるかを知りたいので、同じファイルがherokuとVPSの両方で動作するようにします。herokuでmongodbを使う正しい方法は何ですか

Correct for heroku: 
    production: 
      uri: <%= ENV['MONGOHQ_URL'] %> 

Correct for VPS: 
    production: 
     <<: *defaults 
      host: localhost 
      database: grbr_production 

Herokuのためmongoid.yml別途押すとVPSは本当の痛みです:私のVPSは、デフォルトのDBのマッピングを必要としながら、 Herokuのは、本番データベースにMONGOHQ_URLを期待しています。私はそれがちょうどローカルホスト上のMongoDBインスタンスを指すVPSにMONGOHQ_URL環境変数を追加するのが最も簡単かもしれません

+0

あなたが実際にあなたのデータベースプロバイダとして[MongoHQ](http://mongohq.com/)を使用していますか?または、あなたのデータベースはどこですか? – theTRON

+0

Herokuは、私が知る限り、mongodbをMongoHQ経由でのみ使用できるようにします。 – Ved

答えて

0

に動作します1つの統合エントリを作成することができる方法があります:

のMongoDB:// localhost /をgrbr_production

0

Herokuインスタンスが期待することは、環境変数MONGOHQ_URLを定義することです。変数名は何でもかまいません.MongoHQを使用していない場合は、名前を変更するのが理にかなっています。にすべての値を変更してください

export MONGODB_URI="mongodb://username:[email protected]:10010/db-name" 

:bashの環境を想定し、あなたのVPSに続いて

# mongoid config file 
production: 
    uri: <%= ENV['MONGODB_URI'] %> 

:あなたは両方のために、以下の設定ファイルを持つことができ、あなたの質問に答えるために

適切なもの。

これをコンソールで実行することもできますし、mongodbインスタンスを実行しているユーザーの〜/ .bashrcファイルに追加して再起動することもできます。

はその後Herokuの上で、あなたはHerokuののツールベルトのコマンドを使用して、それを定義します。

heroku config:set MONGODB_URI="mongodb://username:[email protected]:10010/db-name" 
関連する問題