问题标签 [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 投票
0 回答
164 浏览

grails - dbm-gorm-diff 尝试撤消 grails 3.3 中的默认值迁移

我有一个带有 postgres 数据库的 grails 3.3 项目。我正在使用 Liquibase DB 重构。

首先,grails 中似乎存在一个错误,因为迁移不会从 Grails 域类中选择默认值约束。为了解决这个问题,我创建了一个具有此值的自定义迁移文件:

我实现了我的目的,因为添加的新列默认设置为 0。但是,现在如果我运行 dbm-gorm-diff 进行任何更改,它会在迁移中添加一个 dropDefaultValue (因此试图撤消我所做的手动更改)

这是有问题的,因为每次运行迁移时我都必须注意更新迁移文件。什么是正确的解决方法?

0 投票
1 回答
435 浏览

spring-boot - 我通过子生成器修改了现有的学生实体,然后覆盖所有并在运行 gradlew 命令之后,但我得到了以下错误,出了什么问题?

2017-12-28 15:40:31.813 错误 5060 --- [tapp-Executor-1] igjcliquibase.AsyncSpringLiquibase:Liquibase 无法正确启动,您的数据库尚未准备好:验证失败:1 个更改集检查和配置/liquibase/更改日志/20171228063150_added_entity_Student.xml::20171228063150-1::jhip ster 是:7:1e76a424cb8d1fd8f33d27559cee9133 但现在是:7:a69d676fb7b3d1b37c22d109340b7cb2

liquibase.exception.ValidationFailedException: Validation Failed: 1 change sets check sum config/liquibase/changelog/20171228063150_added_entity_Student.xml::20171228063150-1::jhip ster was: 7:1e76a424cb8d1fd8f33d27559cee9133 but is now: 7:a69d676fb7b3d1b37c22d109340b7c2b

:82) 在 io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor.lambda$createWrappedRunnable$ 的 io.github.jhipster.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$0(Asyn cSpringLiquibase.java:64) 1(ExceptionHandlingAsyncTaskExecutor.java:66 ) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java: 748)

怎么了 ?

0 投票
1 回答
3342 浏览

spring - Liquibase 在 spring 项目中找不到我的实体类来生成差异

Liquibase 在给定的包中找不到我的实体类(JPA 注释)来生成差异。

当我使用mvn liquibase:diff命令时它说 没有找到更改,无事可做,但我的实体有新字段

我使用 spring framweork、JPA(hibernate)、Liquibase、liquibase-hibernate

这是我的代码:

liquibase.properties

pom.xml liquibase-hibernate 配置

0 投票
1 回答
3235 浏览

java - 如何为 spring-boot 和 hibernate 配置 liquibase-maven-plugin

我有非常典型的应用程序堆栈:spring-boot:1.5.Xhibernate:5.X和.mavenliquibase

无需添加一些配置文件,特别是liquibase对于.spring bootliquibase

但我想liquibase changesetshibernate entities. 我想我可以用liquibase-maven-pluginliquibase-hibernate来做到这一点。我也读过这篇关于集成 spring boot 和 liquibase 的文章,liquibase.properties那里还需要额外的内容。

我的问题是:如果可能的话,我如何在不添加一些配置文件的情况下配置 maven-liqubase 插件。

0 投票
0 回答
1277 浏览

java - Sql 脚本未使用 liquibase 执行

我有一个弹簧启动应用程序。我想在这个应用程序中使用 liquibase 我在 pom.xml 中添加了 liquibase 依赖项。请在下面找到“liquibase-changelog.xml”文件详细信息:-

创建表.sql

应用程序属性

即使在运行我的应用程序之后,该表也没有在数据库中创建。任何人都可以请帮助我我哪里出错了!

日志:-

0 投票
2 回答
117 浏览

liquibase - 将 liquibase 与 Altibase 一起使用

我们已经有一个带有 liquibase 脚本(mysql、postgresql)的现有项目。现在我们要支持一个名为 Altibase 的新数据库。但是当我们运行时,liquibase:dropAll liquibase:update我们得到:

这是 pom 的配置:

请注意,我们通过 maven 在本地安装了 Altibase jar。

0 投票
1 回答
1090 浏览

hibernate - 无法让 liquibase-hibernate 插件与 gradle 一起使用

在尝试将 liquibase:hibernate 插件与 spring-boot:gradle:postgres 集成时,我在运行gradle diff命令时遇到了这个错误。

这是我的 build.gradle :

版本:

  • 弹簧数据 jpa:2.0.5
  • 休眠:5.2.14
  • Liquibase-hibernate5 插件:3.6

我尝试浏览了很多关于 SO 和周围的帖子,但无法弄清楚。任何帮助表示赞赏。

0 投票
1 回答
125 浏览

java - 带有 orm.xml 配置的 Liquibase-hibernate 插件

我正在考虑以将域类与与持久层相关的所有内容分开的想法开始一个 java 项目。然后,我想使用 hibernate 或 jpa 和 xml 映射配置(在 orm.xml 文件中)和 liquibase 来控制数据库更改。

使用 liquibase-hibernate 插件来生成数据库变更集会很棒,但我不确定是否可能。

有人可以告诉我这是否可能以及这是一个好主意吗?

非常感谢。

0 投票
0 回答
1664 浏览

java - 为多个模式中的实体生成 Liquibase-hibernate 更改日志

我正在尝试使用 liquibase-hibernate5(Spring-5.0.4.RELEASE,Hibernate-5.2.15.最终,JPA-2.1.1 应用程序在 servlet 3.1 上具有所有(完整)编程配置)。我使用 JSON 作为更改日志格式,使用 liquibase-hibernate5 (v3.6) 和 liquibase-maven-plugin (v3.5.5)。配置中使用的 JPA 规范版本是 2.1.1。来自 POM 的片段:

这是我当前的 liquibase.properties:

然后为了运行我根据实践使用的差异:

一切似乎都运行良好,没有错误,并且较早的空变更日志文件填充了所有适用的变更集;但有一个我似乎无法弄清楚的问题

实际上,我的所有实体都被分组并跨模式划分(用于隔离,与微服务一起使用等(超出此问题的范围)。我尝试连接的数据库用户(比如说 db_user)具有创建所需的所有必要权限所有将保存数据的应用程序模式中的表。假设 schema1 和 schema2 是以下实体的表所属的模式:

实体摘录:

现在,问题是当更改集生成时,它们没有任何关于模式名称的信息(由 javax.persistence.Table 的模式属性分配)。这将导致所有迁移仅在 db_user 中执行,这在此处是不可取的。在序列的情况下,示例代码如下:

生成的变更集如下所示:

请注意序列名称,它表示 db_user 中名称为“SCHEMA1.some_id_seq”的序列,而不是“SCHEMA1”中名称为“some_id_seq”的序列。

我期望的是这些变更集应该代表一些东西,告诉 mvn liquibase:update 在各自的模式中运行 DDL。我已经尝试运行生成的变更集,并且每次我最终都在 db_user 模式中创建了所有对象(我只希望在其中显示更改日志和更改日志锁定表)。

我浏览了 StackOverflow 和其他一些网站,但找不到与我类似的问题(有解决方案或提示)的人。Liquibase 文档似乎也没有提供太多帮助(也许我只能看到冰山一角);但是拜托,有人可以帮忙吗?或者可能会指出我错过的一些非常基本的东西。:(

0 投票
1 回答
612 浏览

spring-boot - Liquibase 比较和更新数据库

我想在我的 Spring Boot 应用程序中使用 liquibase。我的要求是我有一个虚拟模式,每次更改实体类时都会填充表。这是通过 hibernate 的 ddl create 完成的。带有数据的虚拟模式有许多相同的模式。我希望将这些模式与更新时的虚拟模式进行比较,并在不影响我的数据的情况下进行同步。我怎样才能做到这一点?我在任何地方都找不到教程。如果有请给我链接。