Updates clean up obsolete migrations by owner
Removed or renamed migrations no longer leave old copies that can interrupt the next database update.
The migration directory receives files from both the core and the project. Renaming a migration could leave its previous copy on the server, making Phinx stop on a duplicate and blocking subsequent deliveries.
Tracking who delivered each file
Each owner maintains a manifest of its delivery. The updater can remove files withdrawn by that owner and recognize an old renamed copy by its class. Files listed by the other owner are protected; a repeated version with a different class is reported as a conflict rather than deleted automatically.
Cleanup is part of system updates and project delivery through the API and pipeline. In a test environment, it removed an old migration and allowed the previously blocked pipeline to finish.
First-run limitation
If neither owner has a previous manifest, there is not enough history to attribute every file. In that case, renamed-class detection may also reach a copy belonging to the other owner.
Source: Core · req-194 · BATCH-198