So the original XML had only the id created by John Smith and LB executed it successfully. We then found an issue and then recreated the XML and this time we added a new ID of mary doe before the previous id created by John Smith. LB ran Mary's ID and also ran John's one.
Does this mean that, by design, LB checks only for the first match of the ID. In this case, since the ID of Mary did not match in the databasechangelog table, it assumes rest of the IDs have also not run before.
<changeSet author="Mary Doe" id="20180918_99-MEMBER_LIST_TBL_1_2-ALTER-COLUMN-1">
<sql stripComments="true" splitStatements="true" dbms="db2">
<![CDATA[
ALTER TABLE
MENDATA.MEMBER_LIST_TBL_1 ALTER COLUMN PROGRAM_ENROLLMENT_STATUS
SET
DATA TYPE VARCHAR(5000);
ALTER TABLE
MENDATA.MEMBER_LIST_TBL_2 ALTER COLUMN PROGRAM_ENROLLMENT_STATUS
SET
DATA TYPE VARCHAR(5000);
]]>
</sql>
</changeSet>
<changeSet author="John Smith" id="20180926-MEMBER_LIST_TBL_1_2-ALTER-COLUMN-1">
<sql stripComments="true" splitStatements="true" dbms="db2">
<![CDATA[
ALTER TABLE
MENDATA.MEMBER_LIST_TBL_1
ADD
HH_NAME VARCHAR(500) NULL DEFAULT NULL;
ALTER TABLE
MENDATA.MEMBER_LIST_TBL_2
ADD
HH_NAME VARCHAR(500) NULL DEFAULT NULL;
]]>
</sql>
</changeSet>