在 liquibase 格式的 sql 文件中评论 sql 查询

comment sql queries in liquibase formatted sql files

我有 liquibase 格式的 sql 文件,其中包含以下变更集,其中 sql 查询被注释掉了

--liquibase formatted sql

--changeset harv:1
--comment test
--update table set col=null;

--changeset harv:2
--comment test
--update table set col1=null;

当我 运行 liquibase on oracle 数据库时,这些查询没有被执行,因为我对它们进行了评论,但是条目正在被写入 databasechangelog table,这些变更集被执行。

这是评论 sql 查询的正确方式吗?如果是,为什么 liquibase 在数据库变更日志中创建条目 table 将这些变更集标记为已执行?

Liquibase 从评论中读取 sql 文件中的变更集信息,例如:

--changeset harv:1

因此,在解析您的文件时,它会找到这一行并创建一个变更集 "harv:1"。 然后,由于您已经注释掉实际的 sql 变更集将为空。但它仍然是一个变更集。 当它执行所有变更集时,它也会执行 "harv:1" 但其中没有 sql 所以什么也不会发生。它仍然会将此变更集标记为已执行。

我还没有通过实际执行示例来验证这一点。这只是我对可能发生的事情的理论。