Flyway schema_version_history表各字段含义解析,聚焦type字段
Flyway schema_version_history表字段解析及type字段说明
核心字段含义
installed_rank:迁移执行的顺序编号,按执行时间递增,唯一标识每条迁移记录version:迁移脚本的版本号,对应脚本文件名中的版本段description:迁移脚本的描述信息,对应文件名中的描述部分type:迁移操作的类型,下文重点说明SQL和DELETE两种取值script:实际执行的迁移脚本文件名checksum:脚本内容的校验值,用于校验脚本是否被篡改installed_by:执行迁移操作的数据库用户installed_on:迁移执行的时间戳execution_time:迁移执行耗时(单位:毫秒),值为0表示无实际执行逻辑success:迁移是否执行成功,t代表执行成功
type字段SQL和DELETE取值详解
- SQL:代表这条记录是正向执行的数据库迁移。Flyway运行对应的SQL脚本完成数据库结构变更,比如你样本中
installed_rank=54和58的记录,execution_time为非0值,说明实际执行了添加列的SQL逻辑。 - DELETE:代表这条记录是撤销(Undo)迁移的标记记录,对应Flyway的Undo功能(需提前开启Undo支持)。当执行Undo操作时,Flyway会生成该类型的记录,标记对应的正向迁移已被撤销。你样本中
installed_rank=55和56的记录,execution_time=0,说明没有执行新的变更逻辑,仅完成了原迁移的撤销标记。
结合你提供的样本来看:installed_rank=54是首次执行添加列的正向迁移,之后installed_rank=56是撤销该迁移的记录,最后installed_rank=58又重新执行了这条正向迁移,因此出现同一脚本的三种状态记录。
内容的提问来源于stack exchange,提问作者SRB
相关产品推荐
相关产品推荐

