设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Spring Boot 2实战:使用Flyway管理你数据库的版本变更(3)

发布时间:2019-10-30 12:04 所属栏目:115 来源:码农小胖哥
导读:启动 Spring Boot 应用 。打开 H2 数据库控制台 http://localhost:8080/h2-console ,在 JDBC URL 一栏粘贴 jdbc:h2:file:D:/h2/flyway;MODE=MySQL;DATABASE_TO_LOWER=TRUE 并点击 Connect 按钮会进入以下界面: 这

启动 Spring Boot 应用 。打开 H2 数据库控制台 http://localhost:8080/h2-console ,在 JDBC URL 一栏粘贴 jdbc:h2:file:D:/h2/flyway;MODE=MySQL;DATABASE_TO_LOWER=TRUE 并点击 Connect 按钮会进入以下界面:

Spring Boot 2实战:使用Flyway管理你数据库的版本变更

这里 -1 是因为我们缺省了 Flyway 需要的 flyway_schema_history 表 。0 是因为 H2 数据库自动初始化了 Schema flyway ,其它数据库可能需要你手动来建立。

4.4 编写 SQL 变更脚本

我们编写一个 V1.0.0__Delete_sysuser_felordcn.sql 来删除 V1.0.1__Add_table_user.sql 中初始化的用户。你会发现启动报错了,因为我们开启了校验,所以对于逻辑错误的版本会抛出异常。我们将版本号更改为 V1.0.2__Delete_sysuser_felordcn.sql 再次启动。通过 H2 数据库控制台我们会发现多了一条变更记录:

Spring Boot 2实战:使用Flyway管理你数据库的版本变更

同时 sys_user 表的数据也没有了,符合预期。

5. Flyway 最佳实践

通过上面的介绍相信你很快就会使用 Flyway 进行数据库版本控制了。这里总结了一些在实际开发中的使用经验:

  1.  生产务必禁 spring.flyway.cleanDisabled=false 。
  2.  尽量避免使用 Undo 模式。
  3.  开发版本号尽量根据团队来进行多层次的命名避免混乱。比如 V1.0.1__ProjectName_{Feature|fix}_Developer_Description.sql ,这种命名同时也可以获取更多脚本的开发者和相关功能的信息。
  4.  spring.flyway.outOfOrder 取值 生产上使用 true,开发中使用 false。
  5.  多个系统公用一个 数据库 schema 时配置spring.flyway.table 为不同的系统设置不同的 metadata 表名而不使用缺省值 flyway_schema_history 。

6. 总结

今天我们对 Flyway 数据库版本迁移管理工具进行了介绍并将之与 Spring Boot 相结合。这将大大规范我们的数据库管理,提高生产效率。同时也分享了一些相当有用的生产实践经验。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读