Loosing changeset info when rerunning it

So, as suggested in the documentation, I created a changelog with all rerunable changesets. These changesets are labeled with runOnChange. → Best Practices

I am making some tests, and I noticed that, when I rerun one of these changesets I lose the initial row EXECTYPE=EXECUTED in DATABASECHANGELOG table and is substituted by RERUN one.

I don’t like this behaviour because:

  • I am loosing information about when this changeset has been executed. I only know last time it has been executed.
  • What happends if I want to rollback to a tag before this changeset has changed multiple times?

So my question is, if there is any config or workaround to avoid this behaviour. I wouldn’t like to create a new changeset for each time I changed it.

Thanks for your help

The databasechangelog is only intended to show the “current-state” of each changeset, not all of the prior executions. The RERUN is the current-state of that changeset. You would have to track the individual executions yourself.