FREEDOM251

Freedom251 › Database Migration Tools

Doctrine Migrations

Free plan LinuxSelf-hosted

Visit Doctrine Migrations Alternatives Pricing

Doctrine Migrations's own site

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

PlanBilled and limitsPrice
Doctrine MigrationsOpen-source PHP library · MIT license · Installed with Composer or downloaded as a PHARFree

As doctrine-project.org lists them, read 8 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Doctrine Migrations project website.
  2. Install the library with Composer, or download a PHAR from GitHub releases.
  3. For Composer installs, run the console application from `vendor/bin`.
  4. Generate migrations by diffing with ORM mappings or without the ORM.
  5. 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

Look at these too