gpt4 book ai didi

使用 JOOQ 生成器的 Playframework Evolutions

转载 作者:行者123 更新时间:2023-12-04 06:31:38 25 4
gpt4 key购买 nike

我工作的项目使用JOOQ 及其生成器从Postgres 数据库生成类。数据库演变由 Play Evolutions 管理。我们还使用 git 作为版本控制系统。当从 git 获取新的 evolutions/jooq 代码时,这套工具会导致某种自引用问题:

由于缺少 JOOQ 从这些表中生成的类而导致的编译问题,其他团队成员创建的新表的演变无法应用。

我在考虑以下解决方案:

  1. 应用 sbt 的演变 - 创建 sbt 任务 - 到目前为止未能实现,
  2. 在数据库上手动应用演化(复制粘贴脚本)- 没有意义。

堆栈:

  • PlayFramework 2.3.8
  • Jooq 3.5.3
  • Java 8

请指教。

最佳答案

我建议在编译之前使用 SBT 生成代码。

如果有一种简单的方法来引导 JOOQ 代码生成器(例如通过静态方法,或通过创建生成器实例),您可以看看 here查看如何创建引导流程的任务。

然后,如果您希望 SBT 任务在编译之前执行,您可以这样做(如果您要调用任务 generateJOOQ):

compileInputs in (Compile, compile) <<= (compileInputs in (Compile, compile)) dependsOn (generateJOOQ in Compile)

拥有一个 JOOQ SBT 插件会让事情变得更容易,但我认为创建这样一个插件的维护工作不应被低估,因为需要迎合不同的 SBT 版本和 JOOQ 版本。

关于使用 JOOQ 生成器的 Playframework Evolutions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29075641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com