Heroku 应用程序更改:数据库迁移(pg 和 MongoHQ)
我在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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过登录heroku并单击addons =>来迁移MongoHQ mongohq。在应用程序中,在数据库用户下创建一个名为“backup”的新用户,并使用简单的密码。下面,我的密码是“temppw”。然后单击“数据库信息”选项卡获取连接信息(主机:端口 [flame.mongohq.com:27049] 和数据库名称 [appXXXXXX])。然后调用 mongodump 来获取备份。
这将创建一个名为“dump”的本地目录,其中包含您的数据。通过将其加载到本地数据库来验证它是否存在(只需运行 mongorestore 并查看本地 mongo 安装) - 因为当您销毁旧应用程序时,它会销毁 MongoDB (heroku 也会销毁您的 postgres 数据库 - 所以您应该这样做也是如此)。
无论如何,对新应用程序数据库执行与上述相同的操作,但使用 mongorestore 除外。
不要只指出环境 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.
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.
DO NOT JUST POINT THE ENVIRONMENT URLS. This is dangerous, because deleting your initial app will destroy all of your data.
我不确定 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.