我想将我的heroku制作db(postgres)复制到我的开发(sqlite)。
使用heroku pg:pull
可以轻松地将postgres数据库复制到另一个postgres数据库中。有谁知道如何使用此命令将postgres复制到sqlite ?
Heroku docs on pg:pull没有说明如何使用不同类型的dbs。 This old article暗示过去曾有可能。设置本地postgres db是我想要避免的。
答案 0 :(得分:4)
您需要在本地执行pg_restore
,然后使用-a
选项转储数据以仅转储数据。
看起来应该是这样的:
下载数据转储。
heroku addons:add pgbackups
heroku pgbackups:capture
curl -o latest.dump `heroku pgbackups:url`
创建临时数据库。
sudo -u postgres createdb tempdb
将转储恢复到临时数据库。
sudo -u postgres pg_restore --verbose --clean --no-acl --no-owner -h localhost -d tempdb latest.dump
以正确的格式转储数据。
sudo -u postgres pg_dump --inserts -a -b tempdb > data.sql
在sqlite3中读取转储。
sqlite3
> .read data.sql
这是近似解决方案。您很可能需要进行一些小的调整。
我同意Craig Ringer可能值得在本地运行postgres。希望这个过程可以解决这个问题!