搞懂flyaway一篇就够了

发布时间:2024年01月03日

Flyway是一个用于数据库迁移的开源工具,它可以帮助开发人员轻松地管理数据库架构的变化。Flyway通过迁移来更新数据库,迁移可以使用特定于数据库的SQL语法或者用于高级数据库转换的Java编写。Flyway支持两种类型的迁移:有版本的迁移和可重复的迁移。有版本的迁移具有唯一的版本号,仅应用一次;而可重复的迁移没有版本号,每当它们的校验和发生变化时都会被(重新)应用。

Flyway支持多种构建工具,包括Maven和Gradle,并且可以与多种数据库配合使用,如MySQL、PostgreSQL、SQL Server等。此外,Flyway还提供了第三方插件的支持,可以与其他构建工具和框架集成使用。

对于开发人员来说,Flyway的简单、专注和强大的特点使得数据库迁移变得更加容易和可靠。Flyway可以在Windows、macOS、Linux、Docker和Java上运行,因此非常灵活。

Flyway由Redgate公司开发,遵循Apache许可证2.0发布。

理论

Flyway的工作原理
Flyway在第一次执行时,会创建一个默认名为flyway_schema_history的历史记录表,这张表会用来跟踪或记录数据库的状态,然后每次项目启动时都会自动扫描在resources/db/migration下的文件的版本号并且通过查询flyway_schema_history来判断是否有新增文件,从而判断是否进行迁移。
默认的查找 migration 的路径为 classpath:db/migration ,对应 SQL 文件可放置在src/main/resources/db/migration 下,Java 类可放置在 src/main/java/db/migration 下。
Flyway在第一次执行时,

文章来源:https://blog.csdn.net/yujing1314/article/details/135364235
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。