正在运行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)
答案 0 :(得分:0)
我想你错过了:
adapter: mongodb
这是我对postgres database.yml的设置:
development:
adapter: postgresql
encoding: unicode
database: db
pool: 50
username: user
password: pwd
host: localhost
您可能也想看看这篇文章: