SQL 服务器应使用哪个代码生成器

Which Code generator should be used for SQL Server

我使用我的 liqibase 脚本来生成 Jooq 代码。我从说明和日志中了解到,方言是H2。

如果应用程序随后针对 SQL 服务器数据库运行,是否会出现问题?是否必须调整代码生成或元类是否保持不变?

<plugins>
         <plugin>
            <groupId>org.jooq</groupId>
            <artifactId>jooq-codegen-maven</artifactId>
            ...
            <configuration>
               <generator>
                  <name>org.jooq.codegen.JavaGenerator</name>
                  <database>
                     <name>org.jooq.meta.extensions.liquibase.LiquibaseDatabase</name>

LiquibaseDatabase 可用于简单的数据库模式,其中不希望连接到实际的数据库实例(例如出于性能原因)以生成代码。它的缺点是它不是实际的 SQL 服务器数据库,而是模拟迁移 - 目前在 in-memory H2 数据库上。这意味着某些特定于供应商的功能可能无法按预期工作。

通常最好不要将上述实用程序用于具有供应商特定功能(例如存储过程等)的更复杂的模式。相反,使用连接到实际数据库实例的 SQLServerDatabase

您仍然可以使用 Liquibase on a testcontainers based SQL Server instance to set up your schema prior to generating jOOQ code, as explained in this blog post here