将初始PostgreSQL数据库从开发转移到Heroku生产

时间:2011-10-14 08:29:05

标签: ruby-on-rails ruby-on-rails-3 postgresql heroku

我在开发数据库中本地存储了一组初始生产数据,我希望将其迁移到生产中作为数据的起点。传输此数据的最佳方法是什么?

如果有一种方法可以按照说明使用pgbackups,那么这似乎并不明显。也许我必须在本地运行某种类型的手动备份,然后用pgbackups推送它,如果是这种情况,我会很感激一些关于完成此操作的具体说明。

2 个答案:

答案 0 :(得分:6)

经过一些额外的挖掘和Heroku的回答,输入初始数据的答案是:

1)如果在本地使用PGSQL,首先转储数据:

pg_dump -U your_username your_database_name -f backup.sql

2)然后按照此处的说明输入Heroku的数据库: http://devcenter.heroku.com/articles/pgbackups#importing_from_a_backup

答案 1 :(得分:3)

首先使用pg_dump转储本地数据库:

pg_dump -Fc --no-acl --no-owner -h ... mydb > mydb.dump

然后使用heroku pgbackups:restore

heroku pgbackups:restore heroku-database-url url-to-your-mydb.dump-file

请注意,Heroku服务器需要访问mydb.dump文件。

Heroku开发中心页面有详细说明:

  

https://devcenter.heroku.com/articles/heroku-postgres-import-export