提问者:小点点

Flyway基线功能有什么好处?[关闭]


< b >想改进这个问题?通过编辑此帖子更新问题,使其只关注一个问题。

尽管阅读了 Flyway 网站上所有可用的文档,但我仍然不明白基线有什么好处。有人可以用简单的英语解释它并提到这个命令的一些用例吗?


共1个答案

匿名用户

例如,以版本 V1_0__baseline.sql为数据库基线会指示Flyway仅应用V1_0后创建的迁移脚本。它通过在Flyway使用的SCHEMA_VERSION表中插入迁移条目来做到这一点。运行迁移时,只有当可用迁移脚本的版本高于基线版本时,才会应用它们。

您希望在生产和开发数据库上使用Flyway。您创建了一个生产的纯模式转储。这将是使用Flyway创建新的空数据库时应用的第一个迁移脚本。

但是,因为您现有的生产和开发机器已经在这个版本上,所以您不想应用这个初始脚本。为了防止这种情况,您创建了一个SCHEMA_VERSION表,并在表中插入“1_0”,以指示Flyway数据库已处于1_0。您可以运行Flyway基线命令,而不是手动创建此表并通过SQL插入行。

然后,几个星期后,有另一个数据库您没有带到Flyway上,但仍然在应用更新脚本(可能您没有时间)。当您将这个数据库放到Flyway上时,您可能需要在V3_0或其他版本上为它建立基线。