1. 为什么需要flyway?
代码可以使用git等工具来做版本控制。同样,数据库也需要一个类似等工具来做DB方面等版本控制。
2. flyway 如何工作?
flyway会先查找数据中的历史信息记录表schema history table.
2.1 数据库里面是空的
(1)由于数据库为空,因此Flyway找不到该表,于是创建它。于是数据库里面就会多一张默认名称为flyway_schema_history的空表。该表用于跟踪数据库的状态信息。
(2)Flyway立即开始从指定的路径下扫描应用程序中为migrations指定的文件:比如sql文件。
(3)将扫描到的migration文件按照版本号顺序存储在flyway_schem