是否可以将postgres DB恢复为本地liquibase

时间:2017-03-16 22:32:32

标签: java spring-boot liquibase

我是liquibase的新手。 '后端'应用程序在本地运行一些基本的更改日志文件。

我想使用pg_dump和pg_restore从服务器获取一些测试数据,并将其恢复到我当地的postgres数据库。

如何使用liduibase?如果这不是一个好的选择,那么什么是更好的选择呢?

2 个答案:

答案 0 :(得分:2)

我找到了将整个数据库数据导出到csv的好方法,就是使用下面的pg函数,配置changelog来加载csv文件,如果记录有很多空数据,则映射列标题。

  1. 每个表创建一个csv文件: Export Database into CSV file
  2. 添加changelog LoadData (文件路径相对于src / main / resources):
  3. 例如:

    <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>
    
    1. 如果您收到由空值引起的错误消息,请查看您的csv文件,在分隔符之间插入NULL,并确保在loadData部分中映射有问题的列名。

答案 1 :(得分:1)

您可以添加更改日志以加载数据
Load data

您可以从数据库中导出为csv并使用liquibase

加载