liqibase中的CHANGESET执行是否依赖于它在xml中的位置?例如,如果我有一个如下所示的liquibase脚本
<changeSet id="20140211_001" author="test">
<createTable tableName="alarm_notification_archive">
<column name="id" type="bigint">
<constraints nullable="false" />
</column>
<column name="event_timestamp" type="timestamp" defaultValue="0000-00-00 00:00:00">
<constraints nullable="false" />
</column>
</createTable>
</changeSet>
<changeSet id="20140210_001" author="test">
<sql>ALTER TABLE `notification_archive` ADD COLUMN
`is_Alarm_Outstanding` BOOLEAN DEFAULT FALSE</sql>
<rollback>
<sql>ALTER TABLE notification_archive DROP COLUMN
is_Alarm_Outstanding
</sql>
</rollback>
</changeSet>
我的理解是changeset
排序是:
如果我现在在1和2之间添加另一个变更集
<changeSet id="20140211_001" author="test">
<createTable tableName="alarm_notification_archive">
<column name="id" type="bigint">
<constraints nullable="false" />
</column>
<column name="event_timestamp" type="timestamp" defaultValue="0000-00-00 00:00:00">
<constraints nullable="false" />
</column>
</createTable>
</changeSet>
<changeSet id="20140212_001" author="test">
<sql>ALTER TABLE `notification_archive` ADD COLUMN
`is_Alarm_Outstanding` BOOLEAN DEFAULT FALSE</sql>
<rollback>
<sql>ALTER TABLE alarm_notification_archive DROP COLUMN
is_Alarm_Outstanding
</sql>
</rollback>
</changeSet>
<changeSet id="20140210_001" author="test">
<sql>ALTER TABLE `notification_archive` ADD COLUMN
`is_Alarm_Outstanding` BOOLEAN DEFAULT FALSE</sql>
<rollback>
<sql>ALTER TABLE alarm_notification_archive DROP COLUMN
is_Alarm_Outstanding
</sql>
</rollback>
</changeSet>
新的变更集执行顺序是