I have several projects that have been using liquibase 3.6.3 or other 3.x variant for multiple years. Some of these projects have dozens or hundreds of executed chagnesets.
I’d like to upgrade these projects to liquibase 4.x. Before I get started I’m curious the philosophy of how later versions of liquibase handle older changeset files. My instance tells me to never change an old changeset xml file, but those xml documents are using older xml schema definition like
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd" logicalFilePath="db/changelog/db-changelog-1.0.xml">
Should I be able to leave all those files untouched using the old xml schema and namespace and only new changeset files use the new 4.x? Do I need to go change hundreds of xml files to change their namespace and re-calculate checksums on each DB? What’s the recommended way to handle upgrades after changesets are already live and still have the ability to standup a test DB from scratch using the changesets?