gpt4 book ai didi

更改集内部更改的 Liquibase 执行顺序

转载 作者:行者123 更新时间:2023-12-01 12:11:59 26 4
gpt4 key购买 nike

我们正在使用 liquibase 将一列拆分为两列。这发生在三个变化中:

  • 通过 添加新列添加栏目
  • 通过 将旧列中的数据插入到新列中customChange
  • 通过 删除旧列dropColumn

  • 这很好用,但我找不到任何关于 执行顺序的文档变化 .
    我只找到了关于 执行顺序的文档变更集 ,见 here .

    liquibase 是否保证更改按它们出现的顺序依次执行?

    最佳答案

    我从来没有看到任何关于它的文档,但根据我的经验 - 它确实按照它们出现的顺序在 changeSet 中按顺序执行更改。

    另外,我认为将上述所有更改合并为一个 changeSet 不是一个好习惯,因为,如您提供的文件中所述:

    Liquibase attempts to execute each changeSet in a transaction that is committed at the end, or rolled back if there is an error. Some databases will auto-commit statements which interferes with this transaction setup and could lead to an unexpected database state. Therefore, it is usually best to have just one change per changeSet unless there is a group of non-auto-committing changes that you want applied as a transaction such as inserting data.



    我建议分开你的 changeSet用适当的方式分成三个原子的 preConditions ,或创建一个合适的 rollback为了它。

    关于更改集内部更改的 Liquibase 执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075050/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com