Skip to content
SPECIFICTION
Get listed

Doctrine Migrations vs Evolve

Doctrine Migrations

doctrine-project.org

Evolve

github.com

Side by side

FigureDoctrine MigrationsEvolve
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Database Migration Tools8.5 (#6)7.8 (#14)
AutomationThe `--no-interaction` option allows migrations to run without additional prompts.It automates database changes and keeps them synchronized across environments and development teams, including for continuous integration and delivery.
PurposeDoctrine Migrations adds database schema versioning and helps deploy schema changes.Evolve is a cross-platform database migration tool inspired by Flyway that uses plain SQL scripts.
SupportThe documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help.The maintainer says the project is personal, free-time, and unfunded, and invites users and companies to support it through GitHub Sponsors; company donations are mentioned as a way to receive priority support.
TransactionsThe documentation covers all-or-nothing transactions and using or not using transactions.By default, each migration runs in a separate database transaction; the TransactionMode option can instead commit or roll back a group of scripts together.

Plans

Doctrine Migrations

  • Doctrine MigrationsFree

Doctrine Migrations pricing →

Evolve

  • EvolveFree

Evolve pricing →

In their own words

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.

Visit doctrine-project.org

Evolve

Evolve is a free, open-source database migration tool that applies plain SQL scripts to synchronize changes across environments and development teams, including continuous integration and delivery. It is available as a .NET library, .NET tool, or standalone CLI. Listed databases include PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB. Versioned migrations run once; repeatable migrations run again when their contents change. Evolve records migration names and checksums in a metadata table and checks them whenever it runs. Commands are migrate, erase, repair, and info. Each migration normally uses its own transaction, while TransactionMode can group scripts for commit or rollback. Cluster mode uses a session-level lock to coordinate nodes. The standalone CLI supports x64 Windows and Linux without external dependencies. The library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0; the tool requires .NET Core SDK 3.0 or later.

Visit github.com