Fluentmigrator
Fluent migrations framework for .NET
Install / Use
/learn @fluentmigrator/FluentmigratorREADME
FluentMigrator

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.
Packages
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.
:warning: The badge for the Azure Artifacts feed won't display prereleases. We're looking into this.
News
- 7.1.0
- support for .NET 9, bug fixes, remove more obsolete code
- 7.0.0
- removed net6.0 and net7.0 support
- TestContainers for integration tests to improve stability. Thanks @PhenX!
- 6.2.0
- supports .NET 6, .NET 7, and .NET 8.
- 6.0.0 milestones
- removing a lot of
[Obsolete]code. Very little user impact should be seen, other than updating custom VersionTableMetadata to configure CreateWithPrimaryKey setting.
- removing a lot of
- 5.2.0 milestones
- make TypeMap injectable
- 5.0.0 milestones
- 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.
Project Info
| | |
|------------------------------|---------|
| Documentation | On our GitHub pages |
| Discussions | |
| Bug/Feature Tracking |
|
| Build server (Releases) |
|
Optional Prerequisites
| 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. |
Powered by
<span> <a href="https://www.jetbrains.com"><img src="https://raw.githubusercontent.com/fluentmigrator/fluentmigrator/main/docs/jetbrains/jetbrains.png" alt="JetBrains" width="15%" /></a> <a href="https://www.jetbrains.com/resharper"><img src="https://raw.githubusercontent.com/fluentmigrator/fluentmigrator/main/docs/jetbrains/logo.png" alt="ReSharper" width="15%" /></a> </span><a href="https://azure.microsoft.com/en-us/services/devops/"><img src="https://azurecomcdn.azureedge.net/cvt-2b18021399b1b3aa2c405a40ce4e9b89f162d9e5b3d6df838d13aae49f3608ea/images/shared/services/devops/pipelines-icon-80.png" alt="Azure DevOps" width="20%" /></a>
Contributors
A long list of everyone that has contributed to FluentMigrator. Thanks for all the Pull Requests!
Contributing
Please see our guide on how to contribute
Third Party Contributions / FluentMigrator Ecosystem
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:<br> - Add-FluentMigration<br> - Update-FluentDatabase<br> - 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. |
Related Skills
oracle
349.7kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
349.7kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
Command Development
109.7kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
Plugin Structure
109.7kThis skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
