由于Heroku停止了mLab的附加组件,需要将MongoDB迁移到MongoDB Atlas

给出一个中文的同义句。

环境

mLab MongoDB作为Heroku的附加组件将于2020年11月10日停止提供。最近,mLab被MongoDB, Inc.收购,因此产生了这个举动。如果在Heroku上托管了Errbit等应用,就需要进行相应的处理。本次迁移过程也可以迁移现有数据。

MongoDB的ObjectRocket

Heroku 推荐的迁移选项是 ObjectRocket,其月费为46美元起。考虑到大多数人使用 errbit 是为了控制成本,这个选项有些吃力。详见链接:https://elements.heroku.com/addons/ormongo

作为首选的过渡方案,选择 MongoDB Atlas。

我們這邊有一份綜合了這份PR的文件,但是需要在 Heroku 上進行新的主機託管,所以需要另外做一些處理。
https://github.com/errbit/errbit/blob/master/docs/deployment/heroku.md

所以,有关数据迁移的详细信息已在以下文件中概述:
https://docs.mlab.com/shutdown-of-heroku-add-on/

如果使用MongoDB Atlas,似乎可以在免费的范围内进行操作。

转换方法

基本上按照文件所述。

将应用程序更新至最新版本。

请确保更新至最新版本以便支持MongoDB 4.2系列。

创建MongoDB Atlas集群

スクリーンショット 2020-07-11 15.57.12.png

在Heroku上更新连接信息

    環境変数 MONGODB_URI に上記でコピペした接続情報をコピペする。
    とのところは適宜書き換える。注意:環境変数を追加するとダウンタイムが発生します

mongodb+srv://xxx:<password>@xxx.xxx.mongodb.net/<dbname>?retryWrites=true&w=majority

将数据从mLab迁移到MongoDB Atlas。

screenshot-atlas-organization-settings.png

在MongoDB Atlas的菜单栏中出现了mLab选项,从那里可以执行迁移操作。

Heroku方面尚未完成的任务

请登录Heroku并删除mLab的附加组件和环境变量,这样迁移就完成了。如果不迁移,您可以尝试运行heroku run rake errbit:bootstrap来进行数据库的初始设置。

bannerAds