我已经在Heroku上部署了我的SpringBoot应用程序。现在我想把本地的PostgreSQL复制到Heroku。
我找到了一些关于devcenter.heroku.com的信息。
但是,我对文件db.changelog-master.yaml的使用了解不够。
有谁能给我详细介绍一下复制数据库的最简单的解决方案吗?
最佳答案
创建本地postgres数据库的有效转储,并将其托管在公共可用的位置。现在您可以使用pg:backups:restore
还原整个数据集(模式和记录),如here所示。这里唯一需要注意的是,目标数据库必须完全为空才能工作。您可以使用heroku pg:reset
清空Heroku postgres数据库。
如果您不能采用上面列出的方法,那么您可以直接从本地实例运行pg_restore
,前提是您的本地Postgres版本是>=Postgres的目标版本。这也适用于创建转储文件,这是一项要求,因为pg实用程序不能保证向前兼容。pg_restore
的文档是here。