因此,让我们考虑一个通用的Spring boot
应用程序,它使用JOOQ
进行数据库数据库访问,使用Flyway
进行数据库迁移。该项目使用gradle
进行依赖管理。
我想要以下事项:
gradle build
任务中生成代码。所以,我们看到任务执行的顺序错误。我有一个非常相似的设置,但采用手动操作来生成Jooq类。我需要它们进行开发,因此将生成延迟到目标环境是没有意义的。
为了开发目的,我决定运行一个本地dB。我在docker中运行它,但这是整个设置中的一个细节。
当我有一个新的迁移时,我使用flyway grade插件对着本地dB运行它。然后我用等级Jooq插件重新生成Jooq类。
当应用程序部署在目标环境中时,我依靠flyway在启动时运行迁移。我有匹配的Jooq课程,所以一切顺利。
jOOQ GitHub项目有一个example project,使用jOOQ与Spring Boot和sql-maven-plugin
。
您可以轻松地用飞路插件替换sql-maven-plugin
,如jOOQ/Flyway example project或this blog post所示。
在相关的说明中,如果您使用jOOQ的商业发行版之一与Spring Boot,这是记录in this blog post here。