我可以更改 liquibase 源代码并尝试使其适用于 db2 z/os generateChangeLog 吗?

Can I change the liquibase source code and try to make it work for db2 z/os generateChangeLog?

老实说,我不是 J2EE 开发人员,但我做了一些 coding/scripting 并且主要在数据库方面工作。我目前的要求是 运行 liquibase 的 DB2 成功生成变更日志 z/os。

但我看到 liquibase 在某些地方没有 sysibm 表,比如这里 -> https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/snapshot/jvm/UniqueConstraintSnapshotGenerator.java

我的计划是用 sysibm 表查询替换 information_schema 表查询(第 309-327 行)。因为第 235 行到第 253 行可能没有使用 DB2 z/os.

不确定以下 link 中的代码是否有助于识别其 DB2 z/os -> https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/database/core/Db2zDatabase.java(但它会检查它是否是 DSN,"DSN"我认为 DB2 Z/OS 和 DB2 LUW 的 "SQL" 的字符串)

不确定我在 github 中查看正确的 liquibase 代码,但据我所知,它是 link 到 liquibase 源代码。

  1. 我需要你的帮助来了解我是否适合修改此源代码并编译它以在我们的环境中使用(我的意思是修改源代码没有法律问题)
  2. 你的建议,如果我正在寻找使它(liquibase)适用于 DB2 的正确位置 Z/OS

如有任何疑问,请告诉我?

抱歉,我只能提供一般细节。

总的来说,您找对了地方,除了 Liquibase 的许可中规定的问题之外,修改源代码供您自己使用不存在任何法律问题。 https://github.com/liquibase/liquibase/blob/master/LICENSE.txt

听起来你是开源世界的新手,所以我会花一点时间研究像 Liquibase 这样的项目是如何工作的。一篇好的文章应该是这样的:https://opensource.guide/how-to-contribute/

Liquibase 项目的设计方式,您不会直接对找到的代码进行更改 - Liquibase 被设计为可扩展并可与许多不同的数据库引擎一起使用,因此您需要创建一组新的类 为 DB2/Z 做 'right' 的事情。您绝对应该找一位经验丰富的 Java 开发人员与您合作。

或者,您可以查看 Liquibase Pro 或 Datical DB。我在生产 Liquibase Pro 和 Datical 的公司工作,我们已经开始着手添加对 DB2/Z 的支持。