無信用卡在 Heroku 上使用 MongoLab

2021-09-30 14:48:14 字數 1567 閱讀 1345

heroku 提供的免費資料庫是5m postgres,有點小。在heroku的addons裡面發現了兩個mogodb的資料庫 mongolab和mongohq

mongolab的免費版240mb,宣告只用於開發和測試。先不管那麼多,直接新增mongolab外掛程式,結果發現賬戶要驗證才可新增,驗證賬戶必須要提供信用卡資訊。暫時不想提供信用卡,找到乙個辦法,就是自己到mongolab**上自己申請乙個賬戶再建立資料庫。

在mongolab上設定好資料庫以後。

先在本地除錯一下,使用mongoid 3.x,修改gemfile:

gem "mongoid", "~> 3.0.3"

gem "mongoid_rails_migrations", "~> 0.0.14"

gem 'mongoid_auto_increment_id', "0.5.0"

gem 'bson_ext'

然後執行:bundle install --without production

接著修改config/mongoid.xml的配置如下:

defaults: &defaults

options:

identity_map_enabled: true

development:

<<: *defaults

sessions:

default:

uri: mongodb:

options:

skip_version_check: true

safe: true

本地測試ok,然後我們先設定一下heroku的環境變數,命令如下:

heroku config:set q_mongolab_uri=mongodb:

然後config/mongoid.xml裡新增:

production:

<<: *defaults

sessions:

default:

uri: <%= env['q_mongolab_uri'] %>

options:

skip_version_check: true

safe: true

這樣做的目的是不再配置檔案中暴露資料庫的資訊,而把資料庫資訊放到環境變數中。相對安全一些。

然後push到heroku, 結果執行出錯,檢視 heroku logs報錯也很簡單:nomethoderror: undefined method `' for nil:nilclass。

到mongoid.org上找到這個發現heroku預設的ruby是1.9.1 .需要在gemfile指定為ruby 1.9.3.

修改gemfile

ruby '1.9.3'
不過bundle版本得是1.2.0rc以上,所以先執行 gem install bundler --pre,這樣本地bundle instal才能執行。

最後push到heroku,成功執行了。

另乙個mongohq我還沒有試過,應該也可以這樣使用,因為mongohq.com也是可以免費註冊並建立免費資料庫的。

51信用卡在微服務架構下的監控平台架構實踐

51信用卡的技術架構是基於spring cloud所打造的微服務體系,隨著業務的飛速發展,不斷增多的微服務以及指標給監控平台帶來了極大的挑戰。監控團隊在開源vs自研,靈活vs穩定等問題上需要不斷做出權衡,以應對飛速發展的需求。本次將會分享我們在微服務下的白盒監控思考,以及如何將時下社群流行的spri...

51信用卡在微服務架構下的監控平台架構實踐

51信用卡的技術架構是基於spring cloud所打造的微服務體系,隨著業務的飛速發展,不斷增多的微服務以及指標給監控平台帶來了極大的挑戰。監控團隊在開源vs自研,靈活vs穩定等問題上需要不斷做出權衡,以應對飛速發展的需求。本次將會分享我們在微服務下的白盒監控思考,以及如何將時下社群流行的spri...

無卡支付時代 銀行信用卡聯手京東金融欲打翻身仗

網際網路金融的興起帶動了消費金融的快速發展,很多平台紛紛利用消費分期來提公升交易額,同時,那些具有網際網路基因的電商平台也大大增加了使用者粘性。伴隨著整個消費大潮從線上向線下回歸,消費金融也開始重新向線下市場滲透,然而,線下消費金融一直是傳統金融機構的戰場,如今,在新技術的衝擊下,傳統金融機構不得不...