开发项目的第一步是什么?当然是项目的环境搭建了。不知道大家有没有被一些插件的版本搞得头疼呢?接下来我会更新几篇分别使用maven、gradle来搭建web项目的插件配置。本篇是flyway在maven项目中的配置,让我们快开始吧。
解释下flyway是干啥的。它是一款database migration tool。我把它理解为数据库创建、管理的工具。我们在本地写好数据库代码,就可以通过flyway将功能在数据库里实现,不必使用其他工具敲sql语句啥的,非常方便。
SpringBoot的更新实在是太快了,但是使用稳定版基本上没出过什么bug(我个人经历哈)。我选的是当前官网最新2.6.1。
注意,阅读SpringBoot2.6.1的官方文档呢,对Maven和Gradle的版本还是有要求的。
以下就是使用idea配置项目的情况了。选择java8,注意图中项目名字是spring-play,但是github源码被我后期改成了spring-play-mvn哈。
由于是从零搭建,所以这里没有选择任何插件,直接点击下一步就行。
查看maven版本3.8.3,注意SpringBoot2.6.1要求maven版本3.5+哈。
flyway的官方文档算是维护得好的,但是!根据官网配置的版本是有bug的!并且不知道如何解决♀️
下面看踩过坑后的稳妥做法。
首先引入flyway-core依赖,版本我都是参考网站mvnrepository-flywaycore下载量来的
<dependency>
<groupId>org.flywaydbgroupId>
<artifactId>flyway-coreartifactId>
<version>8.2.0version>
dependency>
plugin配置:此处建议指定plugin版本,flyway-core指定8.0.4plugin版本,如果按照官网配置8.2.2版本有bug!
注意下面configuration配置里,指定了配置文件的路径,为了方便管理,把flyway的配置全都存入flyway.conf。
<plugin>
<groupId>org.flywaydbgroupId>
<artifactId>flyway-maven-pluginartifactId>
<version>8.0.4version>
<configuration>
<configFiles>
<configFile>conf/flyway.confconfigFile>
configFiles>
configuration>
plugin>
flyway.conf文件配置参数:参考flyway-mysql-config
conf文件的配置都是比较简单的数据库配置,看参考链接里写得挺详细了。
最后是写数据库了。 此处参考flyway-maven-GetStart
注意sql文件的目录必须是src/main/resources/db/migration
,sql文件的命名也必须是这个形式V版本号__表操作_table.sql
。
到这里就结束了。后面还会更新flyway在gradle项目中的配置、jooq在maven项目中的配置,敬请期待。