mengweijin / db-migration

Flyway、Liquibase 扩展支持达梦(DM)数据库、南大通用(GBase 8s)数据库,并支持 Flowable 工作流。
https://home.aday.fun
Apache License 2.0
22 stars 4 forks source link

flowable6.8适配达梦启动报错:WORKAROUND_ORACLE_CLOB_CHARACTER_LIMIT #10

Open CoderXiZhe opened 1 month ago

CoderXiZhe commented 1 month ago
err

1.相关版本信息: springboot: 2.7.18 flowable: 6.8.1 liquibase: 4.9.1 db-migration: 2.0.3 DmJdbcDriver18 : 8.1.2.192

请问大佬有什么解决办法吗? 另外我看文档Flowable 6.8.0 暂未适配?

mengweijin commented 1 month ago

Hi @CoderXiZhe 1、达梦数据库使用 db-migration 默认支持所有版本的 flowable,无需关注 db-migration-flowable 模块。 2、没复现出来你遇到的问题。 复现 demo 参考:https://github.com/mengweijin/db-migration/tree/master/demo-issues/dm-liquibase-github-issue-10 3、你是不是 jdbc url 里添加了类似兼容 oracle 的东西,所以它走到 oracle 的代码逻辑了? 4、对比下我复现 demo 中的内容,看下跟你的有啥不一样,也可以直接跑以下 demo。 如果依然不行,看能不能搭个简易 demo 给我,我这边试试。

CoderXiZhe commented 1 month ago

@mengweijin 谢谢您的回复

  1. 正如您所说,我在jdbcUrl添加了compatibleMode=oracle参数,删除后确实解决了这个问题,但是启动后却出现了NPE问题: “liquibase.structure.core.Table.getColumn(String)" is null”。我跑了您给的demo(仅更改了数据库相关参数),同样也会有这个问题(或许是我的库有问题?),这个问题似乎与issue#8类似,具体的log日志: errorlog.txt 2.我尝试使用db-migration-dm 1.1.6、liquibase-core 4.2.0后启动成功
mengweijin commented 1 month ago

@CoderXiZhe 感谢反馈。 1、问题已复现,是低版本的兼容问题。 2、要兼容 liquibase 4.5.x ~ 4.27.0 之间的所有版本跨度有点大,中间增加或删除了一些类和方法,这个有点头大。 但是它和 spring boot 的兼容性还行,可以升级 liquibase 版本来解决。 当前解决方案: 直接指定 liquibase 版本为 4.27.0。 如下:

<dependency>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-core</artifactId>
    <version>4.27.0</version>
</dependency>

文档也已更新。

CoderXiZhe commented 1 month ago

@mengweijin 指定liquibase为4.27.0仍然会空指针

4 27 0 version

但是4.20.0是没问题的

success
mengweijin commented 1 month ago

@CoderXiZhe 好神奇,我试了好多遍,4.27.0 都是好着的 :confused::confused::confused: 我重新搭个工程试试

mengweijin commented 3 weeks ago

@CoderXiZhe 一直没复现,但是优化了下代码,试试 2.0.4 版本

mengweijin commented 3 weeks ago

@CoderXiZhe 你是不是也指定 schema 了,试试 2.0.5 版本

CoderXiZhe commented 3 weeks ago

@mengweijin 是的,我指定了schema,2.0.5没有空指针的问题了,谢谢大佬🤞