我使用的项目使用JOOQ及其生成器从Postgres数据库生成类。数据库演化由Play Evolutions管理。我们还使用git作为修改控制系统。这组工具在从git获取新的演化/jooq代码时会引起某种自引用问题。
其他团队成员创建的新表的演化由于这些表中缺少JOOQ生成的类而导致的编译问题而无法应用。
我正在考虑以下解决办法:
堆叠:
请给我建议。
发布于 2015-03-19 15:46:22
我建议在编译之前使用SBT生成代码。
如果有一种简单的方法来引导JOOQ代码生成器(例如,通过静态方法或通过创建生成器实例),您可以查看这里,看看如何创建引导进程的任务。
然后,如果希望在编译之前执行SBT任务,则应该这样做(如果要调用任务generateJOOQ):
compileInputs in (Compile, compile) <<= (compileInputs in (Compile, compile)) dependsOn (generateJOOQ in Compile)拥有一个JOOQ插件会使事情变得更简单,但是我认为创建这样一个插件的维护工作不应该被低估,因为我们需要满足不同的SBT版本和JOOQ版本。
发布于 2015-03-17 12:33:52
你可以写一个插件。当应用程序启动时,插件将应用这些演化。
https://stackoverflow.com/questions/29075641
复制相似问题