Doctrine Migrations vs FluentMigrator
Doctrine Migrations
doctrine-project.orgFluentMigrator
fluentmigrator.github.ioSide by side
| Figure | Doctrine Migrations | FluentMigrator |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Database Migration Tools | 8.5 (#6) | 8.2 (#10) |
| License | The GitHub repository identifies the project as MIT licensed. | The project is released under the Apache-2.0 License. |
| Purpose | Doctrine Migrations adds database schema versioning and helps deploy schema changes. | FluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations. |
| Support | The documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help. | The project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag. |
Plans
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.
FluentMigrator
FluentMigrator is a free .NET framework for managing database schema changes with version-controlled C# migrations. Its fluent C# API defines Up and Down methods for applying changes and rolling them back. The project lists providers for SQL Server, PostgreSQL, MySQL, SQLite, and Oracle, among others; provider packages are selected separately. Migrations can run inside an application, with the Migrate.exe console tool, or through dotnet-fm, which integrates with the cross-platform .NET CLI. By default, FluentMigrator creates a VersionInfo table to record completed migrations. Command-line runners can preview generated SQL without executing it, and the CLI can validate migrations before execution. The project documents .NET dependency injection integration and CI/CD examples for GitHub Actions, Azure DevOps, and Jenkins. The Quick Start calls for .NET 8.0 or later, a supported database, and basic C# and database knowledge. FluentMigrator is released under the Apache-2.0 License, with releases distributed through NuGet.