You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制jOOQ代码生成忽略Schema版本匹配?

jOOQ Maven插件跳过Schema版本匹配的解决方案
  • 直接使用jOOQ Maven插件内置的ignoreVersion属性,在插件配置的generator.database节点下设置为true,即可忽略Schema版本匹配,强制触发全量代码生成。示例配置如下:
<plugin>
    <groupId>org.jooq</groupId>
    <artifactId>jooq-codegen-maven</artifactId>
    <configuration>
        <generator>
            <database>
                <!-- 开启后忽略Schema版本校验,强制生成所有代码 -->
                <ignoreVersion>true</ignoreVersion>
                <!-- 保留原有的schemaVersionProvider配置 -->
                <schemaVersionProvider>SELECT version FROM flyway_schema_history ORDER BY installed_rank DESC LIMIT 1</schemaVersionProvider>
                <!-- 你的自定义强制类型配置 -->
                <forcedTypes>
                    <forcedType>
                        <userType>com.yourpackage.YourCustomType</userType>
                        <converter>com.yourpackage.YourCustomConverter</converter>
                        <includeExpression>...</includeExpression>
                    </forcedType>
                </forcedTypes>
            </database>
        </generator>
    </configuration>
</plugin>
  • 如果只是需要临时触发一次全量生成,不想修改pom文件,可以直接在Maven命令中添加参数:
    mvn jooq-codegen:generate -Djooq.generator.database.ignoreVersion=true

  • 这个属性的核心作用就是跳过jOOQ对Schema版本的校验逻辑,不管Flyway迁移记录有没有变更,都会重新生成所有代码,刚好适配你新增自定义类型和转换器但无Schema结构变更的场景,不用再手动修改schemaVersionProvider的查询语句。

内容的提问来源于stack exchange,提问作者Fabrice Gabolde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 05:25:52