A CustomChange implementation might handle input files, much the same as LoadDataChange, for example.
There is no way though that the CustomChange implementation can include this data in the check sum calculation. Thus, if the data is modified, Liquibase will not notice that and will not fail or re-execute the change when runOnChange is set to "true".
I have attached an implementation of CustomChangeWrapper that rectifies this situation, though the check sum calculation had to be revised. You might want to switch to this new check sum calculation anyway, since it is superior in functionality to the one in Liquibase and offers a clean interface.
A CustomChange implementation might handle input files, much the same as LoadDataChange, for example.
There is no way though that the CustomChange implementation can include this data in the check sum calculation. Thus, if the data is modified, Liquibase will not notice that and will not fail or re-execute the change when runOnChange is set to "true".
I have attached an implementation of CustomChangeWrapper that rectifies this situation, though the check sum calculation had to be revised. You might want to switch to this new check sum calculation anyway, since it is superior in functionality to the one in Liquibase and offers a clean interface.