FluentMigrator vs pt-online-schema-change
FluentMigrator
fluentmigrator.github.iopt-online-schema-change
docs.percona.comSide by side
| Figure | FluentMigrator | pt-online-schema-change |
|---|---|---|
| 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.2 (#10) | 7.5 (#21) |
| License | The project is released under the Apache-2.0 License. | The program is free software under either the GNU General Public License version 2 or the Perl Artistic License. |
| Purpose | FluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations. | pt-online-schema-change alters MySQL table structures without blocking reads or writes by building and populating a copy of the table, then replacing the original. |
| Requirements | The quick start lists .NET 8.0 or later, a supported database, and basic C# and database knowledge as prerequisites. | The tool requires Perl, DBI, DBD::mysql, and MySQL 5.0.2 or newer, along with specified MySQL privileges. |
| Support | The project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag. | Percona says its Community Forum service is free and response times vary with the complexity of the question. |
Plans
pt-online-schema-change
- Percona Toolkit (includes pt-online-schema-change)Free
In their own words
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.
pt-online-schema-change
pt-online-schema-change has no write-up on Specifiction yet; its figures are above.