Freedom251 › Database Migration Tools
Doctrine Migrations

What Doctrine Migrations is
Doctrine Migrations is a free, self-hosted PHP library for recording database schema versions and managing changes through migrations. It builds on Doctrine DBAL and ORM, and can create migration code by comparing a database schema with ORM mapping information. The library also supports generating migrations without the ORM. Its console application lets users check migration status, preview changes with a dry run, execute one or more migrations, and roll changes back. Users can write generated SQL to a file with `--write-sql` rather than applying it directly, and use `--no-interaction` for unattended runs. Transaction options include all-or-nothing execution and running with or without transactions. Migration commands warn about possible data loss and ask for confirmation by default. Install with Composer, which provides the console application in `vendor/bin`, or download a PHAR from GitHub releases. Doctrine lists an integration for Symfony, and community integrations are listed for Zend, Laravel, Silex, and Nette. Version 3.9.8 is marked stable; versions 3.8 and earlier are unmaintained. The repository identifies the project as MIT licensed.
Who it suits
Doctrine Migrations suits PHP developers who need to track database schema changes and control how those changes are reviewed and deployed. It is especially relevant to teams using Doctrine DBAL or ORM, and to projects that want console-based migration controls or a listed framework integration.
What it does well
- Free, self-hosted library with an MIT license.
- Generates migrations by comparing database schemas and ORM mappings.
- Supports dry runs, execution, and rollback from the console.
- Can save generated SQL to a file before applying it.
- Offers transaction controls and non-interactive execution.
- Lists integrations for Symfony, Zend, Laravel, Silex, and Nette.
What to know first
- Requires a PHP environment and is available for Linux or self-hosting.
- Versions 3.8 and earlier are unmaintained.
- Migration commands warn that schema changes can cause data loss.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Doctrine Migrations | Open-source PHP library · MIT license · Installed with Composer or downloaded as a PHAR | Free |
As doctrine-project.org lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Doctrine Migrations project website.
- Install the library with Composer, or download a PHAR from GitHub releases.
- For Composer installs, run the console application from `vendor/bin`.
- Generate migrations by diffing with ORM mappings or without the ORM.
- Review migration status or run a dry run before executing changes.
Verdict
Choose Doctrine Migrations if you need a free PHP library for versioning schema changes, reviewing generated SQL, and controlling migration execution or rollback. It is a fit for projects using Doctrine DBAL or ORM, with several framework integrations listed. Check the release status before adopting an older version, since 3.8 and earlier are unmaintained.
Questions
Is Doctrine Migrations free?
Yes. The listed plan is free, and the project is identified as MIT licensed.
Which platforms does it support?
The listed platforms are Linux and self-hosted.
How can I install it?
Install it with Composer or download a PHAR from GitHub releases. A Composer installation provides a console application in `vendor/bin`.
Can it roll back migrations?
Yes. The console supports reverting migrations.
Does it integrate with frameworks?
Doctrine lists Doctrine Migrations Bundle for Symfony, and community-built integrations for Zend, Laravel, Silex, and Nette.
Which version is stable?
Version 3.9.8 is marked stable. Versions 3.8 and earlier are marked unmaintained.
Facts from Doctrine Migrations's own pages
- Automation
- The `--no-interaction` option allows migrations to run without additional prompts. · doctrine-project.org, 7 Oct 2026
- Command line
- A Composer installation provides a doctrine-migrations console application in vendor/bin. · doctrine-project.org, 8 Oct 2026
- Current stable version
- The project page lists version 3.9.8 as stable. · doctrine-project.org, 7 Oct 2026
- Database abstraction
- The project is built on top of Doctrine DBAL and ORM functionality. · doctrine-project.org, 8 Oct 2026
- Database integration
- The project builds on Doctrine DBAL and ORM. · doctrine-project.org, 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. · doctrine-project.org, 7 Oct 2026
- Execution controls
- The documentation covers dry runs, executing one or multiple migrations, reverting migrations, and non-interactive execution. · doctrine-project.org, 8 Oct 2026
- Framework integrations
- The integrations guide lists community-built integrations for Symfony, Zend, Laravel, Silex, and Nette. · doctrine-project.org, 8 Oct 2026
- Installation
- The library can be installed with Composer or downloaded as a PHAR from GitHub releases. · doctrine-project.org, 8 Oct 2026
- Install options
- It can be installed with Composer or downloaded as a PHAR from GitHub releases. · doctrine-project.org, 7 Oct 2026
- Intended users
- The Doctrine Project describes its libraries as PHP libraries focused primarily on persistence services and related functionality. · doctrine-project.org, 7 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 8 Oct 2026
- Migration controls
- Users can inspect migration status, run dry runs, execute migrations, and revert them from the console. · doctrine-project.org, 7 Oct 2026
- Purpose
- Doctrine Migrations adds database schema versioning and helps deploy schema changes. · doctrine-project.org, 8 Oct 2026
- Release status
- The project page marks version 3.9.8 as stable and versions 3.8 and earlier as unmaintained. · doctrine-project.org, 8 Oct 2026
- Review and testing
- The project says schema changes can be reviewed and tested before production deployment. · doctrine-project.org, 8 Oct 2026
- Risk note
- The migration command warns that schema changes can result in data loss and prompts for confirmation by default. · doctrine-project.org, 7 Oct 2026
- Schema comparison
- It can generate migrations by comparing the current database schema with mapping information defined through the ORM. · doctrine-project.org, 7 Oct 2026
- Schema diffing
- The documentation includes migration generation by diffing with the ORM or without the ORM. · doctrine-project.org, 8 Oct 2026
- Security reporting
- Doctrine asks security researchers to report issues privately by email rather than through GitHub's public issue tracker. · doctrine-project.org, 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. · doctrine-project.org, 7 Oct 2026
- Support
- The documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help. · doctrine-project.org, 8 Oct 2026
- Symfony bundle
- Doctrine lists Doctrine Migrations Bundle as a Symfony integration with its own Composer package. · doctrine-project.org, 8 Oct 2026
- Symfony integration
- The Doctrine project lists Doctrine Migrations Bundle, described as Symfony DoctrineMigrationsBundle, as an integration. · doctrine-project.org, 7 Oct 2026
Where Doctrine Migrations stands on Freedom251
- Database Migration Tools#12 of 32
