Heroku 应用程序更改:数据库迁移(pg 和 MongoHQ)

发布于 2024-12-18 09:28:53 字数 118 浏览 0 评论 0原文

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

如何迁移数据库 PG 和 MongoHq?

谢谢!

I had and app on heroku
then I decided to create another app (on cedar stack which does not support stack:migrate).

How can I migrate databases PG and MongoHq?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

葬﹪忆之殇 2024-12-25 09:28:53

您可以通过登录heroku并单击addons =>来迁移MongoHQ mongohq。在应用程序中,在数据库用户下创建一个名为“backup”的新用户,并使用简单的密码。下面,我的密码是“temppw”。然后单击“数据库信息”选项卡获取连接信息(主机:端口 [flame.mongohq.com:27049] 和数据库名称 [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

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

You can migrate MongoHQ by logging into heroku and clicking on addons => mongohq. From the application, create a new user under Database Users named "backup" with a simple password. Below, my password was "temppw". Then click the Database Info tab for your connection information (host:port [flame.mongohq.com:27049] and dbname [appXXXXXX]). Then just call mongodump to get a backup.

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

This will make a local directory called "dump" containing your data. Verify it is there by loading it into a local db (just run mongorestore and look in your local mongo install) - because when you destroy your old app, it destroys the MongoDB (heroku also destroys your postgres db - so you should do this for that as well).

Anyway, do the same as above to your new application database, except use mongorestore.

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

DO NOT JUST POINT THE ENVIRONMENT URLS. This is dangerous, because deleting your initial app will destroy all of your data.

中二柚 2024-12-25 09:28:53

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

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

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

I'm not sure about MongoHQ but as for PostgreSQL, you can use Heroku Taps to pull the data from the remote database to your local machine. You could then push it to the new app.

Alternatively you could change the environment variable DATABASE_URL of your new Cedar app to point to the database being used by the old app - assuming you're not using the shared database.

This last approach would also work for MongoHq.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文