2011-04-23 6 views
0

私のアプリでrake db:seedを実行しようと、私はエラーを取得する場合:mongoid/MongoDBの生産でrakeタスクの承認/助手席

Database command 'count' failed: {"assertion"=>"unauthorized db:app_development lock type:-1 client:127.0.0.1", "assertionCode"=>10057, "errmsg"=>"db assertion failure", "ok"=>0.0}

を私はdb:drop

MMYアプリで同じエラーが接続され得ますDBの罰金、それはちょうどこれらのレーキのタクが失敗している、と私はわからない。シーディングには管理者権限が必要だとは思わない。たぶんそれは乗客の問題ですか?

+0

接続する際にmongoDBにユーザー名とパスワードが必要ですか?また:あなたはモンゴイドまたはmongomapper(またはその他)を使用していますか? –

+0

私はmongoidを使用しています。はい、私は自分のデータベース用にユーザー設定をしています。アプリケーションは、これらの資格情報でデータベースを正常にアクセスしていますが、モンゴイドレーキタスクに管理者アクセスが必要ですか?もしそうなら、どうすればいいのですか? – brewster

答えて

0

rakeタスクがデータベースに接続できるようにするには、mongoid.ymlにユーザー名とパスワードを設定する必要があります。

例:

production: 
    host: host-name 
    port: 27017 
    username: itsmeyo 
    password: supasecret 
    database: project_production 

あなたはまた、彼らは、環境変数で設定することができますが、それらは設定する必要があります。

password: <%= ENV['MONGOID_PASSWORD'] %> 
関連する問題