Type: New Feature
Affects Version/s: None
Fix Version/s: 2.5
Security Level: All
The Migrations project is very big and currently unmaintained, even if there is definately need for a solution of the migration problem.
The idea would be introduce a subcomponent in DBAL that delegates this to proven tools (DbDeploy and Liquibase, and Phinx for PHP based).
The functionality Doctrine should provide is integration with the \Doctrine\DBAL\Schema API. Three operations come to mind:
- status - What version are we? Do we need to execute more versions?
- migrate - Execute the migration tool
- create-migration - Create a new migration file of the underlying platform.
The last operation needs to check if no versions need to be applied at the moment.
Every tool implements this interface and then we need 3 new commands for "status", "migrate" and "rollback". The "create" command can only be implemented in the context of the ORM.