SpringBoot 项目接入 Flyway
SpringBoot 项目接入 Flyway 非常简单,主要分为如下几步即可,我们依次来看一下。
加入依赖
<!-- flyway --> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> </dependency>
在项目 pom.xml 文件中加入上面的依赖即可。
增加配置
# 启用 flyway spring.flyway.enabled=true # 禁止清理数据表 spring.flyway.clean-disabled=true # 是否已经有数据库 spring.flyway.baseline-on-migrate=true # 基础版本号,依次递增 spring.flyway.baseline-version=0 # 迁移脚本的存放的位置 spring.flyway.locations=classpath:db/migration
这里因为很多情况下我们并不是一个新项目就开始使用 Flyway,而是项目在迭代中才引入的,所以上面的配置spring.flyway.clean-disabled=true
一定要禁用。上面几个配置由于已经继承到 SpringBoot 中了所以配置起来十分简单。
迁移脚本文件
脚本的命名规则按照上面说的,我们这边采用版本迁移。我们创建一个版本的 SQL 文件放到对应的类路径文件夹里面,文件名叫V1.2__create_test_table.sql,文件内容如下,然后我们启动项目。
CREATE TABLE `test_table` ( `id` int(11) NULL COMMENT 'ID', `name` varchar(255) NULL COMMENT 'Name' );
启动过程中我们看到如下日志,显示了当前的版本,以及迁移的版本。
我们再查看数据库,首先 test_table 已经创建成功了
另外我们在查看flyway_schema_history 表,会发现已经多了一条版本数据,至此我们介入 Flyway 已经成功了。
总结
今天阿粉给大家介绍了一个数据库版本迁移的工具,这么好的工具大家赶紧用起来吧,这样在以后的版本迭代的过程中再也不会忘记执行SQL 了。这篇文章先跟大家介绍 Flyway 的使用,下篇文章我们再分享它的实现原理。