【问题标题】:Heroku app change: db migration (pg and MongoHQ)Heroku 应用程序更改:数据库迁移(pg 和 MongoHQ)
【发布时间】:2011-11-26 11:32:24
【问题描述】:

我在 heroku 上拥有和应用程序 然后我决定创建另一个应用程序(在不支持 stack:migrate 的 cedar 堆栈上)。

如何迁移数据库 PG 和 MongoHq?

谢谢!

【问题讨论】:

    标签: heroku mongohq


    【解决方案1】:

    您可以通过登录 heroku 并单击插件 => mongohq 来迁移 MongoHQ。在应用程序中,使用简单密码在名为“backup”的数据库用户下创建一个新用户。下面,我的密码是“temppw”。然后单击数据库信息选项卡以获取您的连接信息(主机:端口 [flame.mongohq.com:27049] 和 dbname [appXXXXXX])。然后只需调用 mongodump 来获取备份。

    mongodump -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw
    

    这将创建一个名为“dump”的本地目录,其中包含您的数据。通过将其加载到本地数据库来验证它是否存在(只需运行 mongorestore 并查看本地 mongo 安装) - 因为当您销毁旧应用程序时,它会破坏 MongoDB(heroku 也会破坏您的 postgres 数据库 - 所以您应该这样做也一样)。

    无论如何,对您的新应用程序数据库执行与上述相同的操作,但使用 mongorestore。

    mongorestore -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw dump/appXXXXXX
    

    不要只指出环境网址。这很危险,因为删除您的初始应用会破坏您的所有数据。

    【讨论】:

    • MongoHQ 已更名为 Compose FWIW。
    【解决方案2】:

    我不确定 MongoHQ 但对于 PostgreSQL,您可以使用 Heroku Taps 将数据从远程数据库拉到本地计算机。然后,您可以将其推送到新应用。

    或者,您可以更改新 Cedar 应用的环境变量 DATABASE_URL 以指向旧应用正在使用的数据库 - 假设您没有使用共享数据库

    最后一种方法也适用于 MongoHq。

    【讨论】:

    • 谢谢,其实我对 mondodb 迁移更感兴趣。我还没有尝试在新应用上更改 MONGOHQ_URL,但我想也许有一些标准解决方案可以达到这个目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2011-07-14
    • 2015-03-21
    • 2016-05-02
    • 2018-06-13
    • 2011-07-08
    相关资源
    最近更新 更多