Fluent Migrator is a migration framework for .NET much like Ruby on Rails Migrations. Migrations are a structured way to alter your database schema and are an alternative to creating lots of sql scripts that have to be run manually by every developer involved. Migrations solve the problem of evolving a database schema for multiple databases (for example, the developer's local database, the test database and the production database). Database schema changes are described in classes written in C# that can be checked into a version control system.
5.0.0 is released and supports .NET 6, .NET 7, and .NET 8. Thanks to @eloekset, our documentation website now has 5.0.0 API links!
Please read the changelog or the upgrade guide for further information: 2.x to 3.0.
There should not be a whole lot to do to upgrade from 3.0 to 5.0. As questions arise, we will consider adding a specific guide.
Package Source | Status | Source Code Tree |
---|---|---|
NuGet (Releases) | main | |
Azure Artifacts (Prerelease) | develop |
The releases are stored on nuget.org while the CI builds are stored on Azure Artifacts.
Documentation | On our GitHub pages |
Discussions | |
Bug/Feature Tracking | |
Build server (new) |
Tool | Consequences when not installed |
---|---|
Multilingual App Toolkit Editor | You're unable to create translations. |
Multilingual App Toolkit Extension (VS2017+) | You get a compilation warning and the changed translation doesn't get compiled. |
A long list of everyone that has contributed to FluentMigrator. Thanks for all the Pull Requests!
Please see our guide on how to contribute
FluentMigrator has an actively developed and maintained ecosystem thanks to third party contributions. The following table summarizes some contributions (but are not endorsed):
GitHub/BitBucket | NuGet Package | Description |
---|---|---|
EasyMigrator | EasyMigrator.FluentMigrator | EasyMigrator allows you to specify database schema using simple POCOs with minimally attributed fields to represent columns. EasyMigrator's core can be adapted to sit on top of various migration libraries. |
FluentMigrator-Generator | FluentMigrator.Generator | Adds a command to the package manager console to generate migrations for FluentMigrator. |
AspNetBoilerplate | Abp.FluentMigrator | Adds fluent extensions specific to the entity model used by the ASP.NET Boilerplate architecture |
Alt.FluentMigrator.VStudio | Alt.FluentMigrator.VStudio | Adds set of commands for Package Manager console: - Add-FluentMigration - Update-FluentDatabase - Rollback-FluentDatabase |
FAKE.FluentMigrator | FAKE.FluentMigrator | FluentMigrator is a .NET library which helps to version database schema using incremental migrations which are described in C#. The basic idea of the FAKE helper is to run FluentMigrator over the existing database using compiled assembly with migrations. |