1.Flyway特点
项目迭代快,数据库表结构及数据都在发生着变化
目前急需一款自动管理数据库变更的sql管理器(flyway),可以根据版本号来控制表结构及数据的变更,提高开发效率;
flyway工作机制,在数据库创建flyway_schema_history,每次从migration迁移的记录,记录包含migration脚本的版本号和sql脚本的checksum值
2.快速入门
sql文件分类 Versioned 、Repeatable 和 Undo 三种
Versioned: 用于版本升级, 每个版本有唯一的版本号并只能执行一次.
Repeatable: 可重复执行, 当 Flyway检测到 Repeatable 类型的 SQL 脚本的 checksum 有变动,
Flyway 就会重新应用该脚本. 它并不用于版本更新, 这类的 migration 总是在 Versioned 执行之后才被执行。
Undo: 用于撤销具有相同版本的版本化迁移带来的影响。但是该回滚过于粗暴,过于机械化,一般不推荐使用。一般建议使用 Versioned 模式来解决。
Prefix 可配置,前缀标识,默认值 V 表示 Versioned, R 表示 Repeatable, U 表示 Undo
Version 标识版本号, 由一个或多个数字构成, 数字之间的分隔符可用点 . 或下划线 _
Separator 可配置, 用于分隔版本标识与描述信息, 默认为两个下划线 __
Description 描述信息, 文字之间可以用下划线 _ 或空格 分隔
Suffix 可配置, 后续标识, 默认为 .sql
<!-- 无需版本号 -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>

启动springboot项目
查看数据库,sls表已经自动生成

当然也可以查看springboot启动的日志,查看sql是否被执行
网友评论