changeSet runOnChange="true" not detected in RC7


  I tested this in RC7 and RC6 and it’s an RC7 issue and works as it should in RC6.  I have a changeset with runOnChange=“true” and I have changed the stored procedures between revisions and RC7 does not update the stored procedure and does not error out.

  The file that is being loaded in version A has one change set with the original changes.  Version B changes the stored procedure and adds another changeset with a different id.  On both versions, the new changeset gets committed with RC6 only updating the original changeset via runOnChange=“true”.  If I am not clear in explaining this, please let me know.  Thanks and I look forward to your reply!

If you make a new change to the changeSet and then re-update does runOnChange work correctly?

I made a change to how checksums are computed between RC6 and RC7, which unfortunately means that liquibase cannot tell if something changed or not.  I went back and forth on whether we should run runOnChange changesets in that case or not, and decided that not running them would be the safest option. 

The goal is to never change the checksum version, but it does have to be done to solve bugs from time to time, especially before 2.0 final. 


So to if I wanted to use 2.0 for production use I should re-sync a database using RC7 correct?

Yes, you will need at least one database update or sync with RC7 so it updates the checksums.  Other changesets will run with an update, just not run-on-change changeSets.



  Ok I’ve re-tested this as well.  I’ve synced a new database with RC7 and then apply a new changeset to it.  All of the changes apply except for 2 stored procedures that have runOnChange=“true”.  I don’t get a warning in the console when running it from ant, but my unit tests fail for the stored procedures and I check the database and the stored procedure has not been changed.  As always, I look forward to your reply.

Is the stored proc in a separate file? Or inline in the changelog? 

Could you post the debug output from the updated jar I pointed you to in the other thread?



  Did you change something in the RC8?  I’ve synced a new database and then applied some new changes and it works fine.  Each stored proc is in it’s own file with it’s own changelog and if there is duplicate names (method overloading), it’s placed in the same file under a new changelog so they can each be updated independently.  This works in RC8.  Thank you so much.

I have made changes in RC8, glad something in there fixed it for you.

Let me know if you have other issue