我有一个充满数据的本地数据库,我想将其推送到Heroku的数据库以便推广它。
实现这一目标的最佳方式/工具是什么?
谢谢!
答案 0 :(得分:0)
您可以编写一个脚本,将当前数据库移植到种子文件中,然后使用heroku run rake db:seed
答案 1 :(得分:0)
首先将本地数据库转储到转储文件:
PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump
将myuser
,mypassword
和mydb
替换为您的用户名,密码和数据库名称。如果没有设置密码,请忽略PGPASSWORD=mypassword
部分。
接下来,您必须将mydb.dump
文件放在可公开访问的位置,然后将其上传到FTP服务器或Amazon S3存储桶(例如)。
然后在本地机器上运行:
heroku pg:backups restore 'https://s3.amazonaws.com/me/mydb.dump' HEROKU_POSTGRESQL_COLOR_URL -a appname
将HEROKU_POSTGRESQL_COLOR_URL
替换为您应用的数据库的网址。如果您不知道该网址,可以使用heroku config | grep HEROKU_POSTGRES
找到该网址。将https://s3.amazonaws.com/me/mydb.dump
替换为您上载转储文件的URL。将appname替换为Heroku中定义的应用程序名称。