生成 forIndexName 的 Liquibase 差异在 h2 上不起作用

Posted

技术标签:

【中文标题】生成 forIndexName 的 Liquibase 差异在 h2 上不起作用【英文标题】:Liquibase diff generating forIndexName doesn't work on h2 【发布时间】:2017-08-18 10:21:19 【问题描述】:

我正在运行 Liquibase 3.5.3 并使用 Liquibase 来处理数据库中的更改。 添加主键时,是否有可能以某种方式使 Liquibase diff 命令不生成 forIndexName? 具有此 forIndexName 的变更集至少在我收到错误的 h2 上失败:

h2 上不允许使用 forIndexName

所以最好不要总是从生成的变更日志中删除这个属性。

【问题讨论】:

【参考方案1】:

H2 暂时不支持forIndexName

作为一种解决方法,您可以使用 liquibase 3.3.5,它是 liquibase 的最后一个版本,它在没有 forIndexName 指令的情况下生成更改日志。

使用旧 liquibase 版本生成的变更日志文件可以使用 liquibase 较新版本加载。

【讨论】:

以上是关于生成 forIndexName 的 Liquibase 差异在 h2 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

异步执行长时间运行的 liquibase 数据库更新

如何在不更改代码的情况下从已编译的 jar 中检索完整的异常消息?

动软代码生成器的功能说明

全能代码生成器,自动生成前后端代码生成项目框架生成JavaBean生成数据库文档自动化部署项目(TableGo v8.0.0)

函数--生成器生成器函数各类推导式生成器表达式

python列表生成器与生成器