FluentMigrator is a database migration framework for .NET written in C#. The basic idea is that you can create migrations which are simply classes that derive from the Migration base class and have a Migration attribute with a unique version number attached to them. Upon executing FluentMigrator, you tell it which version to migrate to and it will run all necessary migrations in order to bring your database up to that version. In addition to forward migration support, FluentMigrator also supports different ways to execute the migrations along with selective migrations called profiles and executing arbitrary SQL.
$ dotnet add package FluentMigrator.Extensions.SqlServerFluentMigrator is a an open-source .NET library that allows you to manage and version database schema changes using a code-first approach. With FluentMigrator, you can define database migrations as code rather than maintaining SQL scripts or using other tools.
Some key features of FluentMigrator include:
For a brief overview on getting started with FluentMigrator, please see the documentation links here:
You can install FluentMigrator via NuGet:
Install-Package FluentMigrator
FluentMigrator example migration and usage:
[Migration(202401011200)]
public class CreatePersonTable : Migration
{
public override void Up()
{
Create.Table("People")
.WithColumn("Id").AsGuid().PrimaryKey()
.WithColumn("Name").AsString(100).NotNullable()
.WithColumn("Email").AsString(200).Nullable();
}
public override void Down()
{
Delete.Table("People");
}
}
For more detailed documentation and examples, please refer to [link to your comprehensive documentation].
We welcome your feedback, bug reports, and contributions to FluentMigrator.
If you'd like to contribute to the project, please follow our contributing guidelines.
FluentMigrator is released under the Apache license. See the LICENSE file for more details.