我想知道如果我使用Heroku Postgres并且我想要转储App 1.0
的数据该怎么办,那么我想将pg_restore
数据转换为新版本的app,App 2.0
。问题是App 2.0
有新的字段和表,pg_restore documentation写道:
...将发出重建数据库所需的命令 它保存时所处的状态。
我不想将数据库重建为App 1.0
上的状态,我只想获取数据并将其放在新数据库中,我添加的表和字段不应与转储文件中的数据。
一个选项是pg_restore
和“将数据库重建为保存时所处的状态”,然后再次运行迁移。这是最好的方式吗?可能有更好的方法,谢谢你的建议。
答案 0 :(得分:1)
您可以尝试pg_dump --data-only
,它将跳过表创建并仅转储数据行。然后在还原时,您的数据将进入现有表。因此,您需要确保它们已存在于新数据库中。我不确定如果表定义不同会发生什么。
或者,您可以仅为要保留的表格执行pg_dump --table <table>
。