JOOQ maven codegen和不同数据库在构建时和运行时的使用
假设我有以下用例:JOOQ maven codegen和不同数据库在构建时和运行时的使用,jooq,jooq-codegen-maven,Jooq,Jooq Codegen Maven,假设我有以下用例: 我想让我的应用程序运行在PostgreSQL上 我已经配置了jooq codegen maven插件来使用H2 这是因为我不想我的构建依赖于总是运行的postgres 问题: 针对H2生成的代码是否与postgres兼容 这个用例有意义吗 如果没有,如何正确地解决它(减少对运行DB实例的依赖)? 我是否可以(以某种方式)将testcontainers与生成过程(或类似概念)结合使用 多谢各位 伊沃斯 生成的H2代码是否与postgres兼容 可以,只要您不使用
- 我想让我的应用程序运行在PostgreSQL上
- 我已经配置了
插件来使用H2jooq codegen maven
- 这是因为我不想我的构建依赖于总是运行的postgres
- 我是否可以(以某种方式)将testcontainers与生成过程(或类似概念)结合使用
此外,您可以使用,而不是滚动您自己的PostgreSQL/H2设置,从jOOQ 3.13开始,它将PostgreSQL DDL转换为H2,并且在将来,将简单地解释DDL,以支持更多特定于供应商的内容。谢谢您的回答。我想,和运行数据库实例的生成(解析器有趣、方言语法不明确等)相比,DDL解析可能会有一些小故障,对吗?这将由testcontainers support解决。@bedla.捷克人:好吧,一切都是权衡。你想要大多数功能?使用本机PostgreSQL的代价是代码生成速度稍慢。你想要更快的代码生成速度吗?使用
DDLDatabase
,代价是大大减少可用的PostgreSQL特定功能。