我是 liquibase 的新手。 “后端”应用程序在本地运行,并带有一些基本的更改日志文件。
我想使用 pg_dump 和 pg_restore 从服务器获取一些测试数据,并将其恢复到我的本地 postgres 数据库。
我如何让它与liduibase一起工作?如果这不是一个好的选择,那么什么是更好的选择?
最佳答案
我发现将整个数据库数据导出到 csv 的好方法是使用下面的 pg 函数,配置变更日志来加载 csv 文件,并在记录有大量空数据时映射列标题。
- 为每个表创建一个 csv 文件: Export Database into CSV file
- 添加变更日志 LoadData (文件路径相对于src/main/resources):
例如:
<changeSet author="programmer" id="mock_user_data">
<loadData tableName="user_data" file="db/csv/public.user_data.csv" separator=";">
<column name="default_user" type="BOOLEAN"/>
<column name="username" type="STRING"/>
<column name="store_id" type="NUMERIC"/>
</loadData> </changeSet>
- 如果收到由 null 值引起的错误消息,请查看 csv 文件,在分隔符之间插入 NULL,并确保有问题的列名称映射到 loadData 部分。
关于java - 是否可以将 postgres DB 恢复到本地 liquibase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42845990/