0

実行heroku run rake db:migrateしてエラーを取得する:

Running `rake db:migrate` attached to terminal... up, run.9259
DEPRECATION WARNING: railtie_name is deprecated and has no effect. (called from <top (required)> at /app/config/application.rb:10)
WARNING: Global access to Rake DSL methods is deprecated.  Please include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method Quora::Application#task called at /app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.5/lib/rails/application.rb:214:in `initialize_tasks'
rake aborted!
Database should be a Mongo::DB, not NilClass.

ローカルではすべてがうまく機能します。mongo の構成をmongoid.yml含むファイルがあり、mongohq で mongo db を作成しました。

defaults: &defaults
  host: '127.0.0.1'
  autocreate_indexes: false
  allow_dynamic_fields: true
  include_root_in_json: false
  parameterize_keys: true
  persist_in_safe_mode: false
  raise_not_found_error: true
  reconnect_time: 3

development:
  <<: *defaults
  database: mydb_development

development_mongohq:
  <<: *defaults
  #use demo mongohq database for fast run
  uri: mongodb://user:pass@linus.mongohq.com:10016/app9861715

test:
  <<: *defaults
  database: quora_test

# set these environment variables on your prod server
production:
  <<: *defaults
  host: '127.0.0.1'
  database: mydb

解決策や修正方法の方向性を探してみましたが、成功しませんでした。私は何を間違っていますか?

編集:include Rake::DSL Rakefileに追加したところ、最初の警告はなくなりましたが、まだ取得しています:

heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.4751
DEPRECATION WARNING: railtie_name is deprecated and has no effect. (called from <top (required)> at /app/config/application.rb:11)
rake aborted!
Database should be a Mongo::DB, not NilClass.

Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
4

1 に答える 1

0

あなたが行方不明だと思います:

adapter: mongodb

postgres database.yml の設定は次のとおりです。

development: 
  adapter: postgresql
  encoding: unicode
  database: db
  pool: 50
  username: user
  password: pwd
  host: localhost

この投稿もチェックしてみてください。

https://stackoverflow.com/a/6757749/169277

于 2012-12-08T03:24:57.233 に答える