我们正在使用liquibase将一列分为两列。这发生了三个变化:
这很好用,但是我找不到按更改执行的任何文档。 我只找到有关 changeSets 的执行顺序的文档,请参见here。
liquibase是否保证更改按显示顺序顺序执行?
答案 0 :(得分:2)
我从未见过有关它的任何文档,但是以我的经验-它确实按更改顺序在changeSet内部执行更改。
此外,我不认为将以上所有更改都放入一个changeSet
中是一种好习惯,因为,正如您提供的文档中所述:
Liquibase尝试执行最后提交的事务中的每个changeSet,如果有错误,则回滚。一些数据库将自动提交语句,这会干扰此事务的设置并可能导致意外的数据库状态。因此,通常最好是每个changeSet仅具有一个更改,除非您希望将一组非自动提交的更改作为事务(例如插入数据)应用。
我建议将您的changeSet
分为三个具有适当preConditions
的原子原子,或为此创建一个适当的rollback
。