如何一起使用Spring启动,JOOQ和Flyway?

问题描述 投票:1回答:1

因此,让我们考虑一个通用的Spring boot应用程序,它使用JOOQ进行数据库数据库访问,使用Flyway进行数据库迁移。该项目使用gradle进行依赖管理。

我想要以下事项:

  1. 在docker中运行我的应用程序。所以,我只想在环境变量(https://12factor.net/config)中使用。因此,我不知道,如何配置spring引导应用程序属性(数据库登录和密码)和gradle JOOQ插件数据库登录名和密码。
  2. 自动生成JOOQ类。当应用程序启动时,Flyway迁移会运行。但是JOOQ在gradle build任务中生成代码。所以,我们看到任务执行的顺序错误。
java spring spring-boot jooq flyway
1个回答
2
投票

我有一个非常相似的设置,但采用手动操作来生成Jooq类。我需要它们进行开发,因此将生成延迟到目标环境是没有意义的。

为了开发目的,我决定运行一个本地dB。我在docker中运行它,但这是整个设置中的一个细节。

当我有一个新的迁移时,我使用flyway grade插件对着本地dB运行它。然后我用等级Jooq插件重新生成Jooq类。

当应用程序部署在目标环境中时,我依靠flyway在启动时运行迁移。我有匹配的Jooq课程,所以一切顺利。


1
投票

jOOQ GitHub项目有一个example project,使用jOOQ与Spring Boot和sql-maven-plugin

您可以轻松地用飞路插件替换sql-maven-plugin,如jOOQ/Flyway example projectthis blog post所示。

在相关的说明中,如果您使用jOOQ的商业发行版之一与Spring Boot,这是记录in this blog post here

© www.soinside.com 2019 - 2024. All rights reserved.