Heroku应用程序更改:db迁移(pg和MongoHQ)

时间:2011-11-26 11:32:25

标签: heroku mongohq

我和heroku上有app 然后我决定创建另一个应用程序(在雪松堆栈上,不支持堆栈:迁移)。

如何迁移数据库PG和MongoHq?

谢谢!

2 个答案:

答案 0 :(得分:8)

您可以登录heroku并点击addons =>来迁移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

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

答案 1 :(得分:1)

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

或者,您可以将新Cedar应用的环境变量DATABASE_URL更改为指向旧应用使用的数据库 - 假设您没有使用共享数据库。< / p>

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