我们有一些实用程序rake任务,用于将postgres数据库从Heroku克隆到本地开发机器,以便用“真实”数据进行测试。他们倾向于使用pg_restore
的shell命令运行导入,例如
sh 'pg_restore --verbose --clean --create --no-owner -h localhost <dbname> <filename>'
可以使用pg gem实现这种postgres操作(已经适用于Rails)或者我们的punt-to-shell操作真的是最好的方法吗?我在the documentation找不到任何有希望的东西。
答案 0 :(得分:1)
由于pg_dump
和pg_restore
是postgres库之外的命令,我不相信有一种方法可以用pg gem实现这一点。但是,根据你想要完成的heroku文档,你看起来就像他们recommend
heroku pgbackups:capture
curl -o latest.dump `heroku pgbackups:url`
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump