可以使用pg gem导入数据库转储(.sql)文件吗?

时间:2014-08-19 14:29:56

标签: ruby postgresql heroku rake

我们有一些实用程序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找不到任何有希望的东西。

1 个答案:

答案 0 :(得分:1)

由于pg_dumppg_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