- Home
- Database Migration Tools
- FluentMigrator
FluentMigrator
What it is
FluentMigrator is a free .NET framework for managing database schema changes through version-controlled C# migrations. Its fluent API uses Up and Down methods to apply changes and roll them back. Documented database providers include SQL Server, PostgreSQL, MySQL, SQLite, and Oracle, among others; provider packages are selected separately. Migrations can run in-process, through the Migrate.exe console tool, or with 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 they run. The project documents .NET dependency injection and CI/CD examples for GitHub Actions, Azure DevOps, and Jenkins. The Quick Start lists .NET 8.0 or later, a supported database, and basic C# and database knowledge as prerequisites. FluentMigrator is released under the Apache-2.0 License. Releases are distributed through NuGet, while prerelease CI builds are stored on Azure Artifacts. It runs on Linux, macOS, and Windows and can be self-hosted.
For and against
For
- Free under the Apache-2.0 License
- Supports migration rollback with Up and Down methods
- Can preview SQL without executing it
- Tracks completed migrations in a VersionInfo table
- Documents CI/CD examples for several services
Against
- Requires .NET 8.0 or later
- Requires a supported database and basic C# knowledge
- Provider packages are selected separately
The verdict
FluentMigrator provides code-based schema migrations with tracking, rollback, and preview options. Users need a supported database and .NET 8.0 or later to follow its Quick Start.
Who it suits
FluentMigrator suits .NET developers who manage database schema changes in version-controlled C# and need migration or rollback workflows. Its CLI and CI/CD examples may also fit teams integrating database changes into automated builds.
Plans and prices
FluentMigrator
Apache-2.0 licensed framework · distributed through NuGet; provider packages are selected separately
Read 4 Oct 2026 · github.com
On the record
- CI/CD
- The dotnet-fm documentation includes a GitHub Actions example for building an application and running migrations.fluentmigrator.github.io · read 4 Oct 2026
- CLI integration
- The dotnet-fm tool integrates with the .NET CLI and is described as cross-platform.fluentmigrator.github.io · read 4 Oct 2026
- Database support
- The documentation lists providers including SQL Server, PostgreSQL, MySQL, SQLite, Oracle, Firebird, IBM DB2, SAP HANA, Snowflake, and Redshift.fluentmigrator.github.io · read 4 Oct 2026
- Distribution
- The repository says releases are stored on NuGet and prerelease CI builds on Azure Artifacts.github.com · read 4 Oct 2026
- Execution options
- Migrations can run in-process or through command-line tools, including dotnet-fm.fluentmigrator.github.io · read 4 Oct 2026
- Integrations
- The project documents in-process integration with .NET dependency injection and CI/CD examples for Azure DevOps and Jenkins.fluentmigrator.github.io · read 4 Oct 2026
- License
- The project is released under the Apache-2.0 License.fluentmigrator.github.io · read 4 Oct 2026
- Migration syntax
- Migrations use a fluent C# API to describe database changes.fluentmigrator.github.io · read 4 Oct 2026
- Migration tracking
- After running migrations, FluentMigrator creates a version tracking table and records completed migrations.fluentmigrator.github.io · read 4 Oct 2026
- Prerequisite
- The Quick Start lists .NET 8.0 or later and a supported database as prerequisites.fluentmigrator.github.io · read 4 Oct 2026
- Preview and validation
- The CLI supports previewing migrations and validating them without executing them.fluentmigrator.github.io · read 4 Oct 2026
- Purpose
- FluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations.fluentmigrator.github.io · read 4 Oct 2026
- Requirements
- The quick start lists .NET 8.0 or later, a supported database, and basic C# and database knowledge as prerequisites.fluentmigrator.github.io · read 4 Oct 2026
- Rollback
- Migrations can define Up and Down methods to apply or roll back changes.fluentmigrator.github.io · read 4 Oct 2026
- SQL preview
- The command-line runners support previewing generated SQL without executing it.fluentmigrator.github.io · read 4 Oct 2026
- Support
- The project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag.fluentmigrator.github.io · read 4 Oct 2026
- Tracking
- FluentMigrator tracks applied migrations in a VersionInfo table, which it creates automatically by default.fluentmigrator.github.io · read 4 Oct 2026