Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku应用程序更改:数据库迁移(pg和MongoHQ)_Heroku_Mongohq - Fatal编程技术网

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

Heroku应用程序更改:数据库迁移(pg和MongoHQ),heroku,mongohq,Heroku,Mongohq,我在heroku上安装了和应用程序 然后我决定创建另一个应用程序(在不支持stack:migrate的cedar stack上) 如何迁移PG和MongoHq数据库 谢谢 我不确定MongoHQ,但对于PostgreSQL,您可以使用它将数据从远程数据库拉到本地计算机。然后你可以把它推到新的应用程序上 或者,您可以更改新Cedar应用程序的环境变量DATABASE\u URL,以指向旧应用程序正在使用的数据库-,前提是您不使用共享数据库 最后一种方法也适用于MongoHq。您可以通过登录hero

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

如何迁移PG和MongoHq数据库


谢谢

我不确定MongoHQ,但对于PostgreSQL,您可以使用它将数据从远程数据库拉到本地计算机。然后你可以把它推到新的应用程序上

或者,您可以更改新Cedar应用程序的环境变量
DATABASE\u URL
,以指向旧应用程序正在使用的数据库-,前提是您不使用共享数据库


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

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

mongodump -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw
这将生成一个名为“dump”的本地目录,其中包含您的数据。通过将其加载到本地db(只需运行mongorestore并查看本地mongo安装)来验证它是否存在,因为当您销毁旧应用程序时,它会销毁MongoDB(heroku也会销毁您的postgres db,因此您也应该这样做)

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

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

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

谢谢,实际上我对mondodb迁移更感兴趣。我还没有尝试在新应用程序上更改MONGOHQ_URL,但我认为可能有一些标准解决方案可以实现这一目的。也许这会有所帮助:MONGOHQ已重命名为Compose FWIW。