The command you select is valid if Release002 is a valid tag. You probably don't want / need quotes in the Release0002 tag.
When rolling back using the tag, Liquibase will begin at the end of the completed change sets and roll back each in the reverse order until it falls into the change set that was previously marked. I am not sure about your description if that is what you want.
In your example, if you marked the database after running Realease002.xml, running "rollback Release0002" will drop everything in Release0003. If you want to roll back everything in Release0002, you will need to run "rollback Release0001" or make the Release0002 tag before executing Release0002 change sets. In any case, you will have Release0003 rolled back, because it appeared after Release0002.
The reason Liquibase does not support selection, and choosing changeSets for rollback, is because dependencies often depend on changesets, because they often overlap, and therefore rolling back an arbitrary group of changesets in the middle often leads to unexpected consequences.
Nathan voxland
source share