【问题标题】:Is it possible to restore postgres DB to local liquibase是否可以将 postgres DB 恢复到本地 liquibase
【发布时间】:2017-03-16 22:32:31
【问题描述】:

我是 liquibase 的新手。 “后端”应用在本地运行,带有一些基本的变更日志文件。

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

如何让它与liduibase一起使用?如果这不是一个好的选择,还有什么更好的选择?

【问题讨论】:

    标签: java spring-boot liquibase


    【解决方案1】:

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

    1. 为每个表创建一个 csv 文件: Export Database into CSV file
    2. 添加更改日志加载数据 (文件路径是相对于 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>
    
    1. 如果您收到由空值引起的错误消息,请查看您的 csv 文件,在分隔符之间插入 NULL,并确保有问题的列名称映射到 loadData 部分。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-10
        相关资源
        最近更新 更多