The migrateSchema.php maintenance script developer for T357532: Create a system to support developers while upgrading configuration schemas supports in principle both upgrading and downgrading. However, there is a fundamental problem with migrating to anything besides the most recent version of a Schema: The store and the validator used to save that schema are not version-aware.
That means when migrating to anything but the most-recent version, then the schema saved will still be validated with the most recent Schema and it will be saved with the version of the most-recent Schema.
Acceptance Criteria:
- It is possible to migrate Configuration to any version of a Schema. That version will be validated with the Schema at that version, and have that version as the value for $version in the stored json.
- in particular, it is possible to migrate to the first version of a Schema
- there exist e2e tests asserting that functionality in the CommunityConfiguration extension