Install from Nuget
The project is split into multiple packages:
Package | Description |
---|---|
FluentMigrator | The base assembly needed to create migrations |
FluentMigrator.Runner | The runner classes required for in-process execution of migrations |
FluentMigrator.Console | The .NET 4.0/4.5/.NET Core 2.0 executable for out-of-process execution of migrations |
FluentMigrator.MSBuild | The .NET 4.0/4.5/.NET Standard 2.0 task for MSBuild |
FluentMigrator.DotNet.Cli | The .NET Core 2.1 executable that integrates into the .NET Core CLI tooling (dotnet command) |
Getting Started
- Check out the tour of FluentMigrator in our Quickstart
- We also started a FAQ
Usage details
- How to create a migration
- Learn about the fluent interface
- Profiles can be used to seed test data
- And then choose one of the migration runners to run your migrations
More Features
- Database functions as default value
- Microsoft SQL Server specific extensions
- Using raw SQL
- Auto-reversing migrations
- Transaction modes for the migration runner
- In-Memory Testing
Advanced Features and Techniques of FluentMigrator
- Dealing with multiple database types
- Filter migrations run based on Tags
- Enforcing migration version numbering rules
- Create custom metadata for the VersionInfo table
Current Release
Upgrade guides
Runners
Supported databases
For the current release these are the supported databases:
Database | Identifier | Alternative identifier(s) |
---|---|---|
Microsoft SQL Server 2019 | SqlServer2016(1) | SqlServer |
Microsoft SQL Server 2017 | SqlServer2016(2) | SqlServer |
Microsoft SQL Server 2016 | SqlServer2016 | SqlServer |
Microsoft SQL Server 2014 | SqlServer2014 | SqlServer |
Microsoft SQL Server 2012 | SqlServer2012 | SqlServer |
Microsoft SQL Server 2008 | SqlServer2008 | SqlServer |
Microsoft SQL Server 2005 | SqlServer2005 | SqlServer |
Microsoft SQL Server 2000 | SqlServer2000 | SqlServer |
PostgreSQL | Postgres | PostgreSQL |
PostgreSQL 9.2 | Postgres92 | PostgreSQL92 |
PostgreSQL 10.0 | PostgreSQL10_0 | PostgreSQL |
PostgreSQL 11.0 | PostgreSQL11_0 | PostgreSQL |
MySQL 4 | MySql4 | MySql |
MySQL 5 | MySql5 | MySql, MariaDB |
Oracle | Oracle | |
Oracle (managed ADO.NET) | OracleManaged | Oracle |
Oracle (DotConnect ADO.NET) | OracleDotConnect | Oracle |
Microsoft JET Engine (Access) | Jet | |
SQLite | Sqlite | |
Firebird | Firebird | |
Amazon Redshift | Redshift | |
SAP Hana | Hana | |
DB2 | DB2 | |
DB2 iSeries | DB2 iSeries | DB2 |
- (1) All integration tests ran without error against an SQL Server 2019 using the SqlServer2016 dialect.
- (2) All integration tests ran without error against an SQL Server 2017 using the SqlServer2016 dialect.
- (3) Support for Microsoft SQL Server Compact Edition is being dropped due to Microsoft end-of-life support date passing.
- (4) Support for SAP SQL Anywhere is being dropped due to SAP not supporting a .NET Core / .NET 5 database driver.