From 16878d17a630e8f03a97e5204255e28016a00f16 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Thu, 5 Mar 2020 11:03:42 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20spring-boot-demo-flyway=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring-boot-demo-flyway/README.md | 148 +++++++++++++++++++++ .../assets/image-20200305105632047.png | Bin 0 -> 17411 bytes .../assets/image-20200305105958181.png | Bin 0 -> 17041 bytes .../assets/image-20200305110057768.png | Bin 0 -> 33384 bytes .../assets/image-20200305110147176.png | Bin 0 -> 23440 bytes 5 files changed, 148 insertions(+) create mode 100644 spring-boot-demo-flyway/README.md create mode 100644 spring-boot-demo-flyway/assets/image-20200305105632047.png create mode 100644 spring-boot-demo-flyway/assets/image-20200305105958181.png create mode 100644 spring-boot-demo-flyway/assets/image-20200305110057768.png create mode 100644 spring-boot-demo-flyway/assets/image-20200305110147176.png diff --git a/spring-boot-demo-flyway/README.md b/spring-boot-demo-flyway/README.md new file mode 100644 index 0000000..2186aae --- /dev/null +++ b/spring-boot-demo-flyway/README.md @@ -0,0 +1,148 @@ +# spring-boot-demo-flyway + +> 本 demo 演示了 Spring Boot 如何使用 Flyway 去初始化项目数据库,同时支持数据库脚本的版本控制。 + +## 1. 添加依赖 + +- Flyway 依赖 + +```xml + + + org.flywaydb + flyway-core + +``` + +- 初始化表结构,需要操作数据库,因此引入数据库驱动以及数据源依赖(这里用 spring-boot-starter-data-jdbc) + +```xml + + org.springframework.boot + spring-boot-starter-data-jdbc + + + + mysql + mysql-connector-java + runtime + +``` + +## 2. Flyway 知识补充 + +1. Flyway 默认会去读取 `classpath:db/migration`,可以通过 `spring.flyway.locations` 去指定自定义路径,多个路径使用半角英文逗号分隔,内部资源使用 `classpath:`,外部资源使用 `file:` + +2. 如果项目初期没有数据库文件,但是又引用了 Flyway,那么在项目启动的时候,Flyway 会去检查是否存在 SQL 文件,此时你需要将这个检查关闭,`spring.flyway.check-location = false` + +3. Flyway 会在项目初次启动的时候创建一张名为 `flyway_schema_history` 的表,在这张表里记录数据库脚本执行的历史记录,当然,你可以通过 `spring.flyway.table` 去修改这个值 + +4. Flyway 执行的 SQL 脚本必须遵循一种命名规则,`V__.sql` 首先是 `V` ,然后是版本号,如果版本号有多个数字,使用`_`分隔,比如`1_0`、`1_1`,版本号的后面是 2 个下划线,最后是 SQL 脚本的名称。 + + **这里需要注意:V 开头的只会执行一次,下次项目启动不会执行,也不可以修改原始文件,否则项目启动会报错,如果需要对 V 开头的脚本做修改,需要清空`flyway_schema_history`表,如果有个 SQL 脚本需要在每次启动的时候都执行,那么将 V 改为 `R` 开头即可** + +5. Flyway 默认情况下会去清空原始库,再重新执行 SQL 脚本,这在生产环境下是不可取的,因此需要将这个配置关闭,`spring.flyway.clean-disabled = true` + +## 3. application.yml 配置 + +> 贴出我的 application.yml 配置 + +```yaml +spring: + flyway: + enabled: true + # 迁移前校验 SQL 文件是否存在问题 + validate-on-migrate: true + # 生产环境一定要关闭 + clean-disabled: true + # 校验路径下是否存在 SQL 文件 + check-location: false + datasource: + url: jdbc:mysql://127.0.0.1:3306/flyway-test?useSSL=false + username: root + password: root + type: com.zaxxer.hikari.HikariDataSource +``` + +## 4. 测试 + +### 4.1. 测试 1.0 版本的 SQL 脚本 + +创建 `V1_0__INIT.sql` + +```mysql +DROP TABLE IF EXISTS `t_user`; +CREATE TABLE `t_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(32) NOT NULL COMMENT '用户名', + `password` varchar(32) NOT NULL COMMENT '加密后的密码', + `salt` varchar(32) NOT NULL COMMENT '加密使用的盐', + `email` varchar(32) NOT NULL COMMENT '邮箱', + `phone_number` varchar(15) NOT NULL COMMENT '手机号码', + `status` int(2) NOT NULL DEFAULT '1' COMMENT '状态,-1:逻辑删除,0:禁用,1:启用', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `last_login_time` datetime DEFAULT NULL COMMENT '上次登录时间', + `last_update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上次更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`), + UNIQUE KEY `phone_number` (`phone_number`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='1.0-用户表'; +``` + +启动项目,可以看到日志输出: + +```java +2020-03-05 10:48:37.799 INFO 3351 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 5.2.1 by Boxfuse +2020-03-05 10:48:37.802 INFO 3351 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2020-03-05 10:48:37.971 INFO 3351 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2020-03-05 10:48:37.974 INFO 3351 --- [ main] o.f.c.internal.database.DatabaseFactory : Database: jdbc:mysql://127.0.0.1:3306/flyway-test (MySQL 5.7) +2020-03-05 10:48:38.039 INFO 3351 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 1 migration (execution time 00:00.015s) +2020-03-05 10:48:38.083 INFO 3351 --- [ main] o.f.c.i.s.JdbcTableSchemaHistory : Creating Schema History table: `flyway-test`.`flyway_schema_history` +2020-03-05 10:48:38.143 INFO 3351 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema `flyway-test`: << Empty Schema >> +2020-03-05 10:48:38.144 INFO 3351 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema `flyway-test` to version 1.0 - INIT +2020-03-05 10:48:38.156 WARN 3351 --- [ main] o.f.c.i.s.DefaultSqlScriptExecutor : DB: Unknown table 'flyway-test.t_user' (SQL State: 42S02 - Error Code: 1051) +2020-03-05 10:48:38.183 INFO 3351 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 1 migration to schema `flyway-test` (execution time 00:00.100s) +``` + +检查数据库,发现创建了 2 张表,一张是 Flyway 依赖的历史表,另一张就是我们的 `t_user` 表 + +image-20200305105632047 + +查看下 `flyway-schema-history` 表 + +image-20200305110147176 + +### 4.2. 测试 1.1 版本的 SQL 脚本 + +创建 `V1_1__ALTER.sql` + +```mysql +ALTER TABLE t_user COMMENT = '用户 v1.1'; +``` + +启动项目,可以看到日志输出: + +```java +2020-03-05 10:59:02.279 INFO 3536 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 5.2.1 by Boxfuse +2020-03-05 10:59:02.282 INFO 3536 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2020-03-05 10:59:02.442 INFO 3536 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2020-03-05 10:59:02.445 INFO 3536 --- [ main] o.f.c.internal.database.DatabaseFactory : Database: jdbc:mysql://127.0.0.1:3306/flyway-test (MySQL 5.7) +2020-03-05 10:59:02.530 INFO 3536 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 2 migrations (execution time 00:00.018s) +2020-03-05 10:59:02.538 INFO 3536 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema `flyway-test`: 1.0 +2020-03-05 10:59:02.538 INFO 3536 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema `flyway-test` to version 1.1 - ALTER +2020-03-05 10:59:02.564 INFO 3536 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 1 migration to schema `flyway-test` (execution time 00:00.029s) +``` + +检查数据库,可以发现 `t_user` 表的注释已经更新 + +image-20200305105958181 + +查看下 `flyway-schema-history` 表 + +image-20200305110057768 + +## 参考 + +1. [Spring Boot 官方文档 - Migration 章节](https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup) +2. [Flyway 官方文档](https://flywaydb.org/documentation/) \ No newline at end of file diff --git a/spring-boot-demo-flyway/assets/image-20200305105632047.png b/spring-boot-demo-flyway/assets/image-20200305105632047.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcdf41a96edd999f09856e9ccfc22583b05ec41 GIT binary patch literal 17411 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 B65Id) literal 0 KcmV+b0RR6000031 diff --git a/spring-boot-demo-flyway/assets/image-20200305105958181.png b/spring-boot-demo-flyway/assets/image-20200305105958181.png new file mode 100644 index 0000000000000000000000000000000000000000..9de741878cc7590fd1660d13a927e31a97bdbf16 GIT binary patch literal 17041 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 literal 0 KcmV+b0RR6000031 diff --git a/spring-boot-demo-flyway/assets/image-20200305110057768.png b/spring-boot-demo-flyway/assets/image-20200305110057768.png new file mode 100644 index 0000000000000000000000000000000000000000..61d6d8085d585eefc07f37a9a65ddca9bf15a19b GIT binary patch literal 33384 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 PMNUMnLSTXc00960thC3T literal 0 KcmV+b0RR6000031 diff --git a/spring-boot-demo-flyway/assets/image-20200305110147176.png b/spring-boot-demo-flyway/assets/image-20200305110147176.png new file mode 100644 index 0000000000000000000000000000000000000000..3a345d31d7b476c9809388bb30396a5969a4d529 GIT binary patch literal 23440 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