Yes, the trouble is that while I try to avoid changes to the checksum
logic, sometimes it is not preventable. When there is a change in the
logic, that means we cannot know if a changeSet has changed or not and
so what should be done with a runOnChange="true" changeSet? Do
you run it or do you not?
You can make an argument either way but the way that was chosen was
to assume they did not change and therefore not run them and just
update the checksum with the new logic.
If you have changeSets that you know changed and so you want to be
ran when you are upgrading from 2 to 3, the easiest solution is
probably to change the ID, that way it is seen as a new changeSet and
is re-ran regardless.
Nathan