Skip to content
SPECIFICTION
Get listed

FluentMigrator vs pgroll

FluentMigrator

fluentmigrator.github.io

pgroll

pgroll.com

Side by side

FigureFluentMigratorpgroll
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYesYes
Plans published12
Spec score · Database Migration Tools8.2 (#10)8.5 (#7)
LicenseThe project is released under the Apache-2.0 License.The repository is licensed under Apache License 2.0.
PurposeFluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations.pgroll is an open-source command-line tool for safe, reversible PostgreSQL schema migrations that keep multiple schema versions available simultaneously.
SupportThe project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag.Users are directed to GitHub issues, GitHub discussions and Discord for assistance.

Plans

FluentMigrator

  • FluentMigratorFree

FluentMigrator pricing →

pgroll

  • Open sourceFree
  • Open-sourceFree

pgroll pricing →

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.

Visit fluentmigrator.github.io

pgroll

pgroll is an open-source command-line tool for PostgreSQL schema migrations that keeps old and new schema versions available while applications move between them. Its expand/contract workflow lets clients choose a version through PostgreSQL's search_path. The project describes migrations as zero-downtime and says it applies changes without locking the database; it can also backfill columns automatically when needed. For breaking changes, pgroll builds virtual schemas from views over physical tables and uses triggers to carry writes between old and new columns. Active migrations can be rolled back to the previous schema version. It supports PostgreSQL 14 and later, including RDS and Aurora, and is available for Linux, macOS, and Windows or self-hosting. It can convert SQL generated by ORMs, with examples for Alembic, Django, and Drizzle, though manual data migrations and SQL consolidation may be needed. On PostgreSQL 14, its versioned views do not respect row-level security policies, which can make it a poor choice for RLS users on that version. The project is licensed under Apache License 2.0.

Visit pgroll.com