java - 是否可以将 postgres DB 恢复到本地 liquibase

标签 java spring-boot liquibase

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

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

我如何让它与liduibase一起工作?如果这不是一个好的选择,那么什么是更好的选择?

最佳答案

我发现将整个数据库数据导出到 csv 的好方法是使用下面的 pg 函数,配置变更日志来加载 csv 文件,并在记录有大量空数据时映射列标题。

  1. 为每个表创建一个 csv 文件: Export Database into CSV file
  2. 添加变更日志 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/

    相关文章:

    azure - 如何使用 Spring Boot 应用程序通过 Azure Functions 安排 Cosmos DB 数据处理

    Liquibase - 使用 rollbackSplitStatements 和 rollbackEndDelimiter 的多行 SQL 回滚

    mysql - Liquibase 从 3.2 升级到 3.3 时出现 "Invalid default value"

    windows - 在哪里可以找到适用于 Windows 的 OpenJDK 7 的夜间版本?

    java - android studio root 和依赖项错误

    java - SSL 握手是否提供数据可靠性?

    spring - Flyway 以编程方式设置占位符

    mysql - Liquibase:无法将数据提取到变更日志文件

    java - 我需要了解如何将API网关与身份验证微服务和其他微服务连接

    java - 如何按最低数字/字符串Android Studio对recyclerview进行排序