问题标签 [liquibase-hibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

java - 我们可以使用 Liquibase 监控数据库表中新添加的数据吗?

我想使用 Liquibase 监视数据库表中新添加的数据。我发现我们可以对表执行创建、插入、更新、删除、回滚类型的操作,但我不确定我们是否可以执行读取操作来查看实际数据。

0 投票
1 回答
261 浏览

liquibase - 如何使用 diffExcludeObjects 配置忽略所有表中以 id 结尾的所有列?

我想使用 liquibase maven 插件的 diff 命令忽略所有表中以“_id”结尾的所有列。当我使用此配置运行它时diffExcludeObjects=table:position, column:.*._id,差异会按预期忽略以 _id 结尾的位置的列。

但是,当我尝试更改配置以点击diffExcludeObjects=table:.*., column:.*._id忽略所有表中的所有字段的每个表时,这不是我想要的。

任何意见,将不胜感激!

0 投票
0 回答
1050 浏览

postgresql - Liquibase 生成空的 ALTER SEQUENCE 更改

我有一组 JPA 实体,它们的 ID 由序列生成:

当我diffChangeLog第一次运行 gradle 任务时,我得到了正确的 CREATE SEQUENCE 语句,并且序列创建好了。

但是,如果我再次运行该任务,我的更改日志包含如下更改:

这会导致语法错误,因为它们生成的 SQLALTER SEQUENCE catalog_item_history_sequence是无效的,因为它实际上并没有改变任何东西。

当我运行 liquibase 来更新我的数据库模式时,我得到的是:

我的数据库是 PostgreSQL 12。

我错过了什么?有没有办法阻止 liquibase 创建这些更改?

0 投票
1 回答
78 浏览

jenkins - 如何仅在控制台上显示 diffChangeLog 命令的输出?

我正在研究用于数据库模式版本控制的 Liquibase 命令。目前我正在使用diffChangeLog命令。下面是我正在处理的示例格式。

根据我的要求,我不希望结果保存在 dbchangelog.xml 上。我只想在控制台上得到这个结果。是否必须传递changeLogFile参数,因为如果我不传递,则diffChangeLog命令不起作用。请帮忙。

0 投票
2 回答
958 浏览

oracle - Liquibase 忽略 Oracle DB 的 autoIncrement="true"

我通过 Hibernate 生成的 DDL 生成了一个模式/表,这是正确的:

之后,我尝试生成如下所示的 Liquibase 更改日志:

问题是,如果我尝试运行 liquibase 更改日志,它会将 XML 定义转换为:

2020-02-26 16:15:10.787 INFO 8064 --- [main] liquibase.changelog.ChangeSet:表组织创建于 2020-02-26 16:15:10.787 INFO 8064 --- [main] liquibase.changelog.ChangeSet : ChangeSet classpath:/db/changelog/db.changelog-master.xml::1582733383680-5::blabla (generated) 在 9ms 内成功运行

您可能已经注意到,缺少“作为身份生成”,这让我相信无论出于何种原因,autoIncrement="true" 都会被忽略。

我使用 Oracle 12.1.0.2 和 org.liquibase:liquibase-core 3.8.2。OJDBC 驱动程序版本为 19.3.0.0。gradle 属性是:

我上网看了,知道我的Oracle版本是兼容这种列类型的,不需要创建额外的oracle Sequences。任何线索可能是什么问题?

0 投票
0 回答
237 浏览

java - 使用 Java 13 的 Liquibase:org.hibernate.boot.registry.classloading.spi.ClassLoadingException

基本上,我将 Liquibase 用于我的大多数 Java 项目(至少在需要 db 迁移的地方)并且它始终在 Java 8 上工作。我现在需要将现有项目迁移到 Java 13。该项目使用 Java 8 和同样使用 Java 13(请参见下面的配置),但是,Liquibase Maven 插件 (mvn liquibase:diff) 会引发 ClassLoadingException:

这是我的 POM 文件中的插件配置:

和 liquibase.properties:

正如我在开头提到的那样,Java 13 构建不起作用:

所有依赖项都具有最新版本。

知道这里可能是什么问题吗?感谢您的任何输入...

0 投票
0 回答
481 浏览

spring-boot - 多模块 liquibase 项目

我有一个由 Maven 支持的多模块 Spring Boot 应用程序。有一个父 pom.xml 定义了所有依赖项。有 2 个模块 A 和 B。模块 B 依赖于模块 A。这两个模块都是 spring 应用程序,我已将它们重新打包为 jar,以便模块之间的相互依赖关系可以工作。我的应用程序运行良好,但是在生成 liquibase 差异时遇到了问题。我的模块 A 和 B 拥有所有域/休眠实体。父级没有任何代码。它只有 pom.xml。

当我从父级执行 mvn liquibase:diff 时,我得到

当我从模块 B 执行 mvn liquibase:diff 时,我得到(我在父 pom 中定义了依赖项)

我不知道是否使用以下代码重组父 pom 中的 jar 以使应用程序正常工作是否会导致此问题。

父 POM.xml,它有一些所有依赖项和插件的列表

一个 Pom.xml

b Pom.xml

0 投票
1 回答
2211 浏览

liquibase - Liquibase-Hibernate:如何从 Spring-Boot JPA 实体生成变更日志?

我无法从我的 Spring-Boot 项目的 JPA 实体生成初始变更日志。我的 pom.xml 如下:

以下是 liquibase.properties 文件:

当我运行命令时

catalogs它不断在 DB [ Full log on Pastebin ]上获得 NullPointerException :

显然,更改日志正在正确生成,因为它显示了计算的校验和,但最终失败了

我该如何解决这个问题,以便让它根据 JPA 实体生成更改日志,而不必使用真实的数据库?

更新

添加后

错误消息已更改,现在是:

0 投票
1 回答
31 浏览

hibernate - 是否可以使用 liquibase-hibernate 插件和 hibernate orm xml 计算 liquibase:diff?

我知道liquibase:diff哪个可以给我数据库之间的差异脚本。

我正在尝试在我的数据库和我的jpa entity.

我有我的休眠状态orm.xmljpa entity我想使用 liquibase-hibernate 插件找出不同的脚本。

这可能吗,如果可以,如何实现?

0 投票
1 回答
1178 浏览

java - 在 liquibase 中删除表的唯一约束列时出错

当我尝试删除 app_user_id 列时出现此错误。我确实删除了 app_user_id 表的外键关系。但是我知道为什么我只在运行测试用例时才得到这个。

堆栈跟踪

请在下面找到非常正常的语法变更集: