
Doctrine Migrations
Doctrine Migrations is a PHP library for tracking database schema versions and managing changes in a reviewable, testable way.
What Doctrine Migrations is
Doctrine Migrations is a PHP library for tracking database schema versions and managing 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, or by diffing without the ORM. Its console tools let users check migration status, preview a dry run, execute one or more migrations, and roll changes back. Generated SQL can be written to a file rather than applied directly, and non-interactive execution is available for automated runs. Transaction options include all-or-nothing behavior as well as running with or without transactions. Schema changes can cause data loss, so commands warn and request confirmation by default. Install with Composer, which provides a console application in vendor/bin, or download a PHAR from GitHub releases. The project lists integrations for Symfony, Zend, Laravel, Silex, and Nette. Version 3.9.8 is marked stable; versions 3.8 and earlier are unmaintained. The library is free, self-hosted, and MIT licensed.
Good
- Generates migrations by diffing schema information.
- Supports dry runs, execution, and rollback.
- Can write generated SQL to a file.
- Offers transaction and non-interactive controls.
- Free, self-hosted, and MIT licensed.
Watch out
- Requires a Linux or self-hosted environment.
- Versions 3.8 and earlier are unmaintained.
- Schema changes can result in data loss.
Who it suits
Doctrine Migrations suits PHP developers who need to version database schema changes and review them before deployment. It is particularly relevant to teams using Doctrine DBAL or ORM, as well as projects using its listed framework integrations.
Verdict
Doctrine Migrations provides controls for generating, reviewing, applying, and reverting database changes. Its fit depends on a PHP environment and the team's preferred database workflow.
Plans and prices
From Doctrine Migrations's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Doctrine Migrations | Free | Open-source PHP library · MIT license · Installed with Composer or downloaded as a PHAR |
The facts
Each one read from Doctrine Migrations's own pages, with the date it was checked.
What it does
- Automation
- The `--no-interaction` option allows migrations to run without additional prompts.checked 7 Oct 2026
- Command line
- A Composer installation provides a doctrine-migrations console application in vendor/bin.checked 8 Oct 2026
- Current stable version
- The project page lists version 3.9.8 as stable.checked 7 Oct 2026
- Database abstraction
- The project is built on top of Doctrine DBAL and ORM functionality.checked 8 Oct 2026
- Database integration
- The project builds on Doctrine DBAL and ORM.checked 7 Oct 2026
- Documentation support
- The documentation directs users to the Doctrine mailing list, Slack migrations channel, GitHub bug reports, and Stack Overflow for help.checked 7 Oct 2026
- Execution controls
- The documentation covers dry runs, executing one or multiple migrations, reverting migrations, and non-interactive execution.checked 8 Oct 2026
- Framework integrations
- The integrations guide lists community-built integrations for Symfony, Zend, Laravel, Silex, and Nette.checked 8 Oct 2026
- Installation
- The library can be installed with Composer or downloaded as a PHAR from GitHub releases.checked 8 Oct 2026
- Install options
- It can be installed with Composer or downloaded as a PHAR from GitHub releases.checked 7 Oct 2026
- Intended users
- The Doctrine Project describes its libraries as PHP libraries focused primarily on persistence services and related functionality.checked 7 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed.checked 8 Oct 2026
- Migration controls
- Users can inspect migration status, run dry runs, execute migrations, and revert them from the console.checked 7 Oct 2026
- Purpose
- Doctrine Migrations adds database schema versioning and helps deploy schema changes.checked 8 Oct 2026
- Release status
- The project page marks version 3.9.8 as stable and versions 3.8 and earlier as unmaintained.checked 8 Oct 2026
- Review and testing
- The project says schema changes can be reviewed and tested before production deployment.checked 8 Oct 2026
- Risk note
- The migration command warns that schema changes can result in data loss and prompts for confirmation by default.checked 7 Oct 2026
- Schema comparison
- It can generate migrations by comparing the current database schema with mapping information defined through the ORM.checked 7 Oct 2026
- Schema diffing
- The documentation includes migration generation by diffing with the ORM or without the ORM.checked 8 Oct 2026
- Security reporting
- Doctrine asks security researchers to report issues privately by email rather than through GitHub's public issue tracker.checked 7 Oct 2026
- SQL output
- The `--write-sql` option can write generated migration SQL to a file instead of executing it directly against a database.checked 7 Oct 2026
- Support
- The documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help.checked 8 Oct 2026
- Symfony bundle
- Doctrine lists Doctrine Migrations Bundle as a Symfony integration with its own Composer package.checked 8 Oct 2026
- Symfony integration
- The Doctrine project lists Doctrine Migrations Bundle, described as Symfony DoctrineMigrationsBundle, as an integration.checked 7 Oct 2026
Alternatives to Doctrine Migrations
- 1

Atlas
Free planOpen sourceWebAPILinuxmacOS8.3From $39 a month - 2
DeepFilterNet
Free planOpen sourceAPILinuxmacOSSelf-hosted7.6Free plan - 3
pgroll
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.3Free plan - 4

Skeema
Free planLinuxmacOSWindows6.9From $649 a year - 5

Bytebase Enterprise
Free planWebAPISelf-hosted6.8From $20 a month - 6
Sqitch
Free planLinuxmacOSSelf-hostedWindows6.7Free plan
