【问题标题】:comment sql queries in liquibase formatted sql files在 liquibase 格式的 sql 文件中注释 sql 查询
【发布时间】:2019-09-19 10:18:29
【问题描述】:

我有 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;

当我在 oracle 数据库上运行 liquibase 时,这些查询没有被执行,因为我评论了它们,但是正在执行这些变更集的数据库更改日志表中的条目。

这是评论 sql 查询的正确方法吗?如果这就是为什么 liquibase 会在 databasechangelog 表中将这些更改集标记为已执行?

【问题讨论】:

    标签: liquibase


    【解决方案1】:

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

    --changeset harv:1
    

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

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

    【讨论】:

    • 我已经验证过了。是真的。同样对于不创建变更集,我也像这样-- --changeset harv:1 注释掉了变更集
    • 好。标记这是正确的答案。这就是你在 StackOverflow 上的做法。 :-)
    猜你喜欢
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多