当前位置: 首页 > 知识库问答 >
问题:

Liquibase - 从数据库更改更新更改日志 XML 文件

丁宏盛
2023-03-14

我决定在 Postgresql 的 Java 项目中使用 liquibase,所以我使用 generateChangeLog maven goal 创建了初始变更集。现在它正在毫无问题地工作。

我正在寻找的是,在我对数据库进行了更改(比如从RDBMS客户端)之后,是否有任何命令可以分析更改日志和数据库状态,以根据我的更改生成更改集并将其附加到更改集xml文件中?

共有1个答案

倪鹏
2023-03-14

您正在寻找 diffChangelog 命令:http://www.liquibase.org/documentation/diff.html

在更改日志模式下,将基本数据库升级到目标数据库所需的XML更改日志被发送到标准输出。此更改日志可以按原样包含,也可以复制到现有的更改日志中。如果向diff命令传递现有的更改日志文件,新的更改集将被附加到文件的末尾。

 类似资料:
  • 在生产中,数据库用液基changelog.yaml更新,数据库更新成功。 我们对数据库模式进行了一些更改(作为几个增强功能的一部分),例如创建新表、更改表列和创建约束等。 有没有办法使用最新的数据库架构更改自动更新 changelog.yaml?(需要附加到现有的 YAML 文件中,而不是从 SCRACH 重新创建。 因此对生产过渡数据的影响很小)

  • 谁知道如何从头开始迁移? 我像往常一样使用命令运行迁移 但不是运行迁移-我收到 谁知道会有什么问题?我需要手动添加数据交换日志和数据交换日志吗?这对我来说很奇怪,因为当我与其他框架分开使用liquibase时,它会为我生成这个表。

  • 所以我的问题是--我如何重构文件结构,而不破坏我的liquibase设置和清空我的数据库?

  • 在我们的项目中使用gradle-liquibase插件,解决了所有的依赖关系。 我有以下由Gradle liquibase插件建议的liquibase任务: 有关如何解决与类路径相关的问题的帮助吗?

  • 我们在webapp中使用liquibase 3.0.8已经有一段时间了,数据库更新是由Spring-liquibase bean在应用程序启动时应用的。我们决定从3.1、3.1.1、3.2.0到3.2.3,逐步更新我们的开发数据库,此时更新失败,出现校验和验证错误。我们尝试恢复到3.2.0,但得到了一组不同的校验和错误。我还尝试从3.0.8直接转到3.4.1(编写时的当前版本),并得到相同的校验和

  • 当前,我的中有以下内容: changelog是由Liquibase找到的,并且一切都能正常工作。 我已经将changelog和项目的所有JPA实体和存储库移到了一个单独的项目中,以便它们可以与其他项目共享。 第二个项目是第一个项目的Maven依赖项。我需要在第一个项目的中使用什么路径来访问第二个项目中的liquibase更改日志? projecta.jar->pom.xml projecta.ja