Alembic vs Doctrine Migrations
Alembic
alembic.sqlalchemy.orgDoctrine Migrations
doctrine-project.orgSide by side
| Figure | Alembic | Doctrine Migrations |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Migration Tools | 7.9 (#12) | 8.5 (#6) |
| Installation | Alembic can be installed with pip and is commonly installed in a project-local Python virtual environment. | The library can be installed with Composer or downloaded as a PHAR from GitHub releases. |
| License | The repository license grants permission to use, copy, modify, distribute, and sell the software, subject to its stated conditions. | The GitHub repository identifies the project as MIT licensed. |
| Support | The project directs users to GitHub Discussions for bug and feature discussion and its GitHub issue tracker for bug reports and feature requests. | The documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help. |
Plans
In their own words
Alembic
Alembic has no write-up on Specifiction yet; its figures are above.
Doctrine Migrations
Doctrine Migrations is a free, self-hosted PHP library for versioning database schemas and deploying changes in a reviewable, testable way. Built on Doctrine DBAL and ORM, it can generate migration code by comparing a database schema with ORM mapping information, with documentation covering diffing with or without the ORM. Console commands show migration status, perform dry runs, execute one or more migrations, and revert changes. Generated SQL can be written to a file with --write-sql instead of applied directly, while --no-interaction supports unattended execution. Transaction controls cover all-or-nothing behavior and running with or without transactions. Install it through Composer, which provides a doctrine-migrations console application, or download a PHAR from GitHub releases. Doctrine lists integrations for Symfony, Zend, Laravel, Silex, and Nette. Version 3.9.8 is stable; 3.8 and earlier are unmaintained.