FluentMigrator
fluentmigrator.github.io
What it is
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.
Spec sheet
- Purpose
- FluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations.Read 4 Oct 2026 · fluentmigrator.github.io
- Integrations
- The project documents in-process integration with .NET dependency injection and CI/CD examples for Azure DevOps and Jenkins.Read 4 Oct 2026 · fluentmigrator.github.io
- Support
- The project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag.Read 4 Oct 2026 · fluentmigrator.github.io
- License
- The project is released under the Apache-2.0 License.Read 4 Oct 2026 · fluentmigrator.github.io
- CI/CD
- The dotnet-fm documentation includes a GitHub Actions example for building an application and running migrations.Read 4 Oct 2026 · fluentmigrator.github.io
- CLI integration
- The dotnet-fm tool integrates with the .NET CLI and is described as cross-platform.Read 4 Oct 2026 · fluentmigrator.github.io
- Database support
- The documentation lists providers including SQL Server, PostgreSQL, MySQL, SQLite, Oracle, Firebird, IBM DB2, SAP HANA, Snowflake, and Redshift.Read 4 Oct 2026 · fluentmigrator.github.io
- Distribution
- The repository says releases are stored on NuGet and prerelease CI builds on Azure Artifacts.Read 4 Oct 2026 · github.com
- Execution options
- Migrations can run in-process or through command-line tools, including dotnet-fm.Read 4 Oct 2026 · fluentmigrator.github.io
- Migration syntax
- Migrations use a fluent C# API to describe database changes.Read 4 Oct 2026 · fluentmigrator.github.io
- Migration tracking
- After running migrations, FluentMigrator creates a version tracking table and records completed migrations.Read 4 Oct 2026 · fluentmigrator.github.io
- Prerequisite
- The Quick Start lists .NET 8.0 or later and a supported database as prerequisites.Read 4 Oct 2026 · fluentmigrator.github.io
- Preview and validation
- The CLI supports previewing migrations and validating them without executing them.Read 4 Oct 2026 · fluentmigrator.github.io
- Requirements
- The quick start lists .NET 8.0 or later, a supported database, and basic C# and database knowledge as prerequisites.Read 4 Oct 2026 · fluentmigrator.github.io
- Rollback
- Migrations can define Up and Down methods to apply or roll back changes.Read 4 Oct 2026 · fluentmigrator.github.io
- SQL preview
- The command-line runners support previewing generated SQL without executing it.Read 4 Oct 2026 · fluentmigrator.github.io
- Tracking
- FluentMigrator tracks applied migrations in a VersionInfo table, which it creates automatically by default.Read 4 Oct 2026 · fluentmigrator.github.io
Plans and prices
Strong points and limits
Strong points
- Free under the Apache-2.0 License
- Up and Down methods support rollback
- Tracks completed migrations in VersionInfo
- Can preview SQL and validate migrations
- CI/CD examples include GitHub Actions
Limits
- Requires .NET 8.0 or later
- Requires a supported database
- Provider packages must be selected separately
Who it suits
It suits .NET developers who want schema changes expressed as version-controlled C# migrations. Users should be prepared to work with a supported database and have basic C# and database knowledge.
Verdict
FluentMigrator offers code-based schema changes, rollback methods, and migration tracking across documented database providers. Its prerequisites include .NET 8.0 or later and a supported database.
Where Specifiction places it
- Database Migration Tools#10 of 328.2