在Heroku上用MongoLab持久化部署VoltRb应用程序
问题描述:
我试图按照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
任何人都可以点我在正确的方向?
答
这不是一个答案,但你应该能够运行heroku配置来查看什么ENV设置为动态。这是否显示ENV?
答
其他一些用户认为问题在于使用过时版本的伏特蒙戈宝石,该版本是“使用旧版本的Mongo Ruby驱动程序”。我已经升级到最新版本(目前为0.1.4),并且一切似乎都与数据库一致。
是的,运行'$ heroku config'会显示MONGOLAB_URI集。它是由Heroku的自动生成和MongoLab页面上的格式, '匹配的mongodb://: @ds ###### mongolab.com:#####/ ' 我也尝试在MongoLab中创建自己的数据库并设置MONGOLAB_URI,并得到相同的结果。完整的错误信息实际上是参考我的用户凭证。 一直在尝试从薄到美洲狮切换,但碰到了我提到的问题,所以我看不到这是否会工作:( –
道歉@Ryan,以及MONGOLAB_URI,RACK_ENV:生产'$ heroku config ' –
尝试更新应用程序的伏特蒙戈版本:捆绑更新伏特 - 蒙戈让我知道,如果这样的作品,谢谢! – Ryan