如何一起使用Spring启动,JOOQ和Flyway?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何一起使用Spring启动,JOOQ和Flyway?相关的知识,希望对你有一定的参考价值。
因此,让我们考虑一个通用的Spring boot
应用程序,它使用JOOQ
进行数据库数据库访问,使用Flyway
进行数据库迁移。该项目使用gradle
进行依赖管理。
我想要以下事项:
- 在docker中运行我的应用程序。所以,我只想在环境变量(https://12factor.net/config)中使用。因此,我不知道,如何配置spring引导应用程序属性(数据库登录和密码)和gradle JOOQ插件数据库登录名和密码。
- 自动生成JOOQ类。当应用程序启动时,Flyway迁移会运行。但是JOOQ在
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。
以上是关于如何一起使用Spring启动,JOOQ和Flyway?的主要内容,如果未能解决你的问题,请参考以下文章
jooQ spring boot Multiple Schema(读写拆分)
Spring Boot with JOOQ 和 Spring Data JPA 之间的技术差异