将Flyway与Jenkins集成到现有数据库中



我们从项目一开始就没有使用Flyway。我们正处于先进的发展阶段。让我们开始在Jenkins项目中使用Flyway。

从文档中,我理解的是:

将开发模式(DDL和DML)备份为SQL脚本文件,给一个文件名如v1_0_1 . __initial.sql.

使用"flyway Clean"清理开发数据库。

基线开发数据库"飞行路线基线-baselineversion = 1.0.0"

现在,执行flyway migrate"哪个将应用SQL脚本文件V1_0_1__initial.sql .

任何新脚本都应该使用更高的版本号(如V2_0_1__account_table.sql)

这是正确的方法还是有更好的方法?

不,这并不完全正确。清理然后再次执行你的DDL/DML可能是一个有用的测试,你已经得到了它的正确,但如果你清理数据库,就没有必要再基线了。

基线的正确顺序是:

  • 将开发模式(DDL和DML)备份为SQL脚本文件,文件名为V1_0_0_initial.sql

  • 在<<li>strong>发展,运行flyway baseline -baselineversion=1.0.0-这告诉Flyway数据库已经处于V1.0.0脚本所表示的状态,不应该再次运行。

  • 其他环境,运行flyway migrate-以便Flyway运行V1.0.0脚本。您的各种环境现在应该处于相同的状态

任何新脚本都应该使用更高的版本号编写,并应用于flyway migrate的每个环境

最新更新