2015-10-19 45 views
0

我试图按照Volt文档页面上的说明在Heroku上生成一个新/空白伏(0.9.5)应用程序。在Heroku上用MongoLab持久化部署VoltRb应用程序

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

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

$ heroku addons:create mongolab 

我以为所有我需要做的就是复制下面进入我的配置/ 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 

任何人都可以点我在正确的方向?

回答

0

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

+0

是的,运行'$ heroku config'会显示MONGOLAB_URI集。它是由Heroku的自动生成和MongoLab页面上的格式, '匹配的mongodb:// @ds ###### mongolab.com:#####/ ' 我也尝试在MongoLab中创建自己的数据库并设置MONGOLAB_URI,并得到相同的结果。完整的错误信息实际上是参考我的用户凭证。 一直在尝试从薄到美洲狮切换,但碰到了我提到的问题,所以我看不到这是否会工作:( –

+0

道歉@Ryan,以及MONGOLAB_URI,RACK_ENV:生产'$ heroku config ' –

+0

尝试更新应用程序的伏特蒙戈版本:捆绑更新伏特 - 蒙戈让我知道,如果这样的作品,谢谢! – Ryan

1

其他一些用户认为问题在于使用过时版本的伏特蒙戈宝石,该版本是“使用旧版本的Mongo Ruby驱动程序”。我已经升级到最新版本(目前为0.1.4),并且一切似乎都与数据库一致。

相关问题