2015-10-19 117 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),並且一切似乎都與數據庫一致。