Nic*_*asW 1 database-migration flyway
在https://flywaydb.org/documentation/migration/repeatable引用 flyway 文档:
可重复迁移没有版本。相反,每次它们的校验和发生变化时都会(重新)应用它们。
这对于管理数据库对象非常有用,这些对象的定义可以简单地在版本控制中的单个文件中维护。
在单个迁移运行中,可重复的迁移总是最后应用,在所有挂起的版本化迁移都已执行之后。可重复迁移按其描述的顺序应用。
这听起来令人兴奋,但是我似乎无法找到有关这实际上是如何工作的以及如何初始化可重复迁移的任何说明。我知道对于版本化迁移,我可以创建一个基础迁移 ( https://flywaydb.org/documentation/existing ),然后运行基线命令为我的未来版本做好准备。但是对于可重复的迁移,我不明白 flyway 如何能够校验和更改。
相反,他们是
每次校验和更改时(重新)应用。
flyway 是否假设我正在从头开始重新创建我的数据库以使校验和比较正常工作?这将解释它如何能够比较校验和(因为它可以访问数据库中已有对象的文件定义)。
小智 5
让我们假设您的可重复迁移 SQL 脚本的校验和是例如 123。
这意味着您可以根据需要不断更改每个新版本的可重复迁移脚本。您不能以这种方式更新基线(不可重复)脚本,因为 Flyway 会抛出关于不匹配校验和的错误。
| 归档时间: |
|
| 查看次数: |
4496 次 |
| 最近记录: |