/fluentmigrator

Fluent migrations framework for .NET

Primary LanguageC#Apache License 2.0Apache-2.0

FluentMigrator (License) FluentMigrator.GitHub.Io Docs Fluent-Migrator tag on Stack Overflow NuGet downloads

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.

News

3.0.0 is released and goes full "dependency injection". We also have a new documentation website!

Please read the changelog or the upgrade guide for further information: 2.x to 3.0.

Packages

Package Source Status Source Code Tree
NuGet (Releases) NuGet master
Azure Artifacts (Prerelease) Azure Artifacts develop

The releases are stored on nuget.org while the CI builds are stored on Azure Artifacts.

⚠️ The badge for the Azure Artifacts feed won't display prereleases. We're looking into this. We've recently migrated from MyGet to Azure Artifacts, ref this notice.

Project Info

Documentation On our GitHub pages
Discussions Gitter
Bug/Feature Tracking GitHub issues
Build server (new) AzureDevOps

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

JetBrains ReSharper

Azure DevOps

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:
- 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.