使用MongoLab的持久性在Heroku上部署VoltRb应用程序

时间:2015-10-19 22:59:19

标签: mongodb heroku voltrb

我正按照Volt文档页面上的说明,尝试在Heroku上投放一个新的/空白伏特(0.9.5)应用程序。

应用程序成功部署,直到我尝试添加Mongo数据库。

下面创建一个新的MongoLab数据库并设置一个到MONGOLAB_URI变量的连接URI。

 $ heroku addons:create mongolab

我认为我所要做的就是将以下内容复制到我的 config / app.rb 文件中,并将'MONGOHQ_URL'替换为'MONGOLAB_URI'。

config.db_driver = 'mongo'
config.db_name = (config.app_name + '_' + Volt.env.to_s)

if ENV['MONGOHQ_URL'].present?
  config.db_uri = ENV['MONGOHQ_URL'] # you will have to set this on heroku
else
  config.db_host = 'localhost'
  config.db_port = 27017
end

但这会导致应用程序错误,并且日志显示如下......

[ERROR] Error adding listener: #<Mongo::AuthenticationError: Failed to authenticate user

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

其他一些用户认为这个问题与使用旧版Mongo Ruby驱动程序的伏特mongo gem的过时版本有关。我已经升级到最新版本(目前为0.1.4),一切似乎都可以正常使用数据库。

答案 1 :(得分:0)

这不是一个答案,但你应该能够运行heroku配置来查看为dyno设置的ENV。这是否显示了ENV?