Skip to content

Instantly share code, notes, and snippets.

@1franck
Last active July 10, 2024 02:15
Show Gist options
  • Select an option

  • Save 1franck/c6828a4b46151b0c6bbc2bb246e2995a to your computer and use it in GitHub Desktop.

Select an option

Save 1franck/c6828a4b46151b0c6bbc2bb246e2995a to your computer and use it in GitHub Desktop.
FluentMigrator AspNetIdentity
using FluentMigrator;
[Migration(20240709000000)]
public class AspNetIdentity: Migration {
public override void Up()
{
Create.Table("AspNetRoles")
.WithColumn("Id").AsString().PrimaryKey("PK_AspNetRoles").NotNullable()
.WithColumn("Name").AsString(256).NotNullable()
.WithColumn("NormalizedName").AsString(256).Nullable()
.WithColumn("ConcurrencyStamp").AsString().Nullable();
Create.Table("AspNetUsers")
.WithColumn("Id").AsString().NotNullable().PrimaryKey("PK_AspNetUsers")
.WithColumn("UserName").AsString(256).Nullable()
.WithColumn("NormalizedUserName").AsString(256).Nullable()
.WithColumn("Email").AsString(256).Nullable()
.WithColumn("NormalizedEmail").AsString(256).Nullable()
.WithColumn("EmailConfirmed").AsBoolean().NotNullable()
.WithColumn("PasswordHash").AsString().Nullable()
.WithColumn("SecurityStamp").AsString().Nullable()
.WithColumn("ConcurrencyStamp").AsString().Nullable()
.WithColumn("PhoneNumber").AsString().Nullable()
.WithColumn("PhoneNumberConfirmed").AsBoolean().NotNullable()
.WithColumn("TwoFactorEnabled").AsBoolean().NotNullable()
.WithColumn("LockoutEnd").AsDateTimeOffset().Nullable()
.WithColumn("LockoutEnabled").AsBoolean().NotNullable()
.WithColumn("AccessFailedCount").AsInt32().NotNullable();
Create.Table("AspNetRoleClaims")
.WithColumn("Id").AsInt32().PrimaryKey("PK_AspNetRoleClaims").Identity()
.WithColumn("ClaimType").AsString().Nullable()
.WithColumn("ClaimValue").AsString().Nullable()
.WithColumn("UserId").AsString().NotNullable().Indexed("IX_AspNetRoleClaims_UserId")
.ForeignKey("FK_AspNetRoleClaims_AspNetRoles_RoleId", "AspNetRoles", "Id")
.OnDelete(System.Data.Rule.Cascade);
Create.Table("AspNetUserClaims")
.WithColumn("Id").AsInt32().PrimaryKey("PK_AspNetUserClaims").Identity()
.WithColumn("ClaimType").AsString().Nullable()
.WithColumn("ClaimValue").AsString().Nullable()
.WithColumn("UserId").AsString().NotNullable().Indexed("IX_AspNetUserClaims_UserId")
.ForeignKey("FK_AspNetUserClaims_AspNetUsers_UserId", "AspNetUsers", "Id")
.OnDelete(System.Data.Rule.Cascade);
Create.Table("AspNetUserLogins")
.WithColumn("LoginProvider").AsString().NotNullable().PrimaryKey("PK_AspNetUserLogins")
.WithColumn("ProviderKey").AsString().NotNullable().PrimaryKey("PK_AspNetUserLogins")
.WithColumn("ProviderDisplayName").AsString().Nullable()
.WithColumn("UserId").AsString()
.NotNullable()
.Indexed("IX_AspNetUserLogins_UserId")
.ForeignKey("FK_AspNetUserLogins_AspNetUsers_UserId", "AspNetUsers", "Id")
.OnDelete(System.Data.Rule.Cascade);
Create.Table("AspNetUserRoles")
.WithColumn("UserId").AsString()
.PrimaryKey("PK_AspNetUserRoles")
.Indexed("IX_AspNetUserRoles_UserId")
.ForeignKey("FK_AspNetUserRoles_AspNetUsers_UserId", "AspNetUsers", "Id")
.WithColumn("RoleId").AsString()
.PrimaryKey("PK_AspNetUserRoles")
.Indexed("IX_AspNetUserRoles_RoleId")
.ForeignKey("FK_AspNetUserRoles_AspNetRoles_RoleId", "AspNetRoles", "Id")
.OnDelete(System.Data.Rule.Cascade);
Create.Table("AspNetUserTokens")
.WithColumn("UserId").AsString()
.PrimaryKey("PK_AspNetUserTokens")
.Indexed("IX_AspNetUserTokens_UserId")
.ForeignKey("FK_AspNetUserTokens_AspNetUsers_UserId", "AspNetUsers", "Id")
.WithColumn("LoginProvider").AsString().NotNullable().PrimaryKey("PK_AspNetUserTokens")
.WithColumn("Name").AsString().NotNullable().PrimaryKey("PK_AspNetUserTokens")
.WithColumn("Value").AsString();
}
public override void Down()
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment