Flyway对数据库进行版本管理主要由Metadata表(默认是flyway_schema_history)和6种命令完成,Metadata主要用于记录每次执行的脚本和version等信息,下面一一介绍。
Metadata表(flyway_schema_history)
Flyway中最核心的就是用于记录所有版本执行结果和状态的Metadata表,在Flyway首次启动时会创建默认名为flyway_schema_history的元数据表,表结构如下(MySQL):
1. Migrate命令
将Schema Migrate到最新版本。如果flyway_schema_history不存在,Flyway将自动创建它。Migrate是Flyway工作流程的核心。它将扫描文件系统或类路径以获取可用的Migrate。它会将它们与已应用于数据库的Migrate进行比较。如果发现任何差异,它将Migrate数据库以缩小差距。Migrate最好应在应用程序启动时执行,以避免数据库与代码期望之间的任何不兼容性。
配置项:locations
2. Clean命令
清除掉对应数据库Schema中的所有对象。Clean对开发和测试有很大的帮助。通过彻底清除已配置的schemas