Created
June 17, 2023 13:28
-
-
Save majorsilence/723f6cf4e0bb97380f7832fb1f1134f0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using FluentMigrator; | |
| namespace Majorsilence.WebSite.DatabaseMigrations.Migrations; | |
| [Migration(1, "CreateIdentitySchema")] | |
| public class CreateIdentitySchema : Migration | |
| { | |
| public override void Up() | |
| { | |
| Create.Table("AspNetRoles") | |
| .WithColumn("Id").AsString().NotNullable().PrimaryKey("PK_AspNetRoles") | |
| .WithColumn("Name").AsString(256).Nullable() | |
| .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("LockoutEnabled").AsBoolean().NotNullable() | |
| .WithColumn("AccessFailedCount").AsInt32().NotNullable(); | |
| IfDatabase("sqlserver").Alter.Table("AspNetUsers").AddColumn("LockoutEnd").AsDateTimeOffset().NotNullable(); | |
| IfDatabase("postgresql").Alter.Table("AspNetUsers").AddColumn("LockoutEnd").AsDateTimeOffset().NotNullable(); | |
| IfDatabase("sqlite").Alter.Table("AspNetUsers").AddColumn("LockoutEnd").AsDateTime().NotNullable(); | |
| Create.Table("AspNetRoleClaims") | |
| .WithColumn("Id").AsInt64().NotNullable().PrimaryKey("PK_AspNetRoleClaims").Identity() | |
| .WithColumn("RoleId").AsString().NotNullable() | |
| .WithColumn("ClaimType").AsString().Nullable() | |
| .WithColumn("ClaimValue").AsString().Nullable(); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetRoleClaims_AspNetRoles_RoleId") | |
| .FromTable("AspNetRoleClaims").ForeignColumn("RoleId") | |
| .ToTable("AspNetRoles").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create.Table("AspNetUserClaims") | |
| .WithColumn("Id").AsInt64().NotNullable().PrimaryKey("PK_AspNetUserClaims").Identity() | |
| .WithColumn("UserId").AsString().NotNullable() | |
| .WithColumn("ClaimType").AsString().Nullable() | |
| .WithColumn("ClaimValue").AsString().Nullable(); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetUserClaims_AspNetUsers_UserId") | |
| .FromTable("AspNetUserClaims").ForeignColumn("UserId") | |
| .ToTable("AspNetUsers").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create.Table("AspNetUserLogins") | |
| .WithColumn("LoginProvider").AsString(128).NotNullable() | |
| .WithColumn("ProviderKey").AsString(128).NotNullable() | |
| .WithColumn("ProviderDisplayName").AsString().Nullable() | |
| .WithColumn("UserId").AsString().NotNullable(); | |
| Create.PrimaryKey("PK_AspNetUserLogins") | |
| .OnTable("AspNetUserLogins") | |
| .Columns("LoginProvider", "ProviderKey"); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetUserLogins_AspNetUsers_UserId") | |
| .FromTable("AspNetUserLogins").ForeignColumn("UserId") | |
| .ToTable("AspNetUsers").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create.Table("AspNetUserRoles") | |
| .WithColumn("UserId").AsString().NotNullable() | |
| .WithColumn("RoleId").AsString().NotNullable(); | |
| Create.PrimaryKey("PK_AspNetUserRoles") | |
| .OnTable("AspNetUserRoles") | |
| .Columns("UserId", "RoleId"); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetUserRoles_AspNetRoles_RoleId") | |
| .FromTable("AspNetUserRoles").ForeignColumn("RoleId") | |
| .ToTable("AspNetRoles").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetUserRoles_AspNetUsers_UserId") | |
| .FromTable("AspNetUserRoles").ForeignColumn("UserId") | |
| .ToTable("AspNetUsers").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create.Table("AspNetUserTokens") | |
| .WithColumn("UserId").AsString().NotNullable() | |
| .WithColumn("LoginProvider").AsString(128).NotNullable() | |
| .WithColumn("Name").AsString(128).NotNullable() | |
| .WithColumn("Value").AsString().Nullable(); | |
| Create.PrimaryKey("PK_AspNetUserTokens") | |
| .OnTable("AspNetUserTokens") | |
| .Columns("UserId", "LoginProvider", "Name"); | |
| Create | |
| .ForeignKey( | |
| "FK_AspNetUserTokens_AspNetUsers_UserId") | |
| .FromTable("AspNetUserTokens").ForeignColumn("UserId") | |
| .ToTable("AspNetUsers").PrimaryColumn("Id") | |
| .OnDeleteOrUpdate(System.Data.Rule.Cascade); | |
| Create.Index("IX_AspNetRoleClaims_RoleId").OnTable("AspNetRoleClaims").OnColumn("RoleId"); | |
| Create.Index("RoleNameIndex").OnTable("AspNetRoles").OnColumn("NormalizedName").Unique(); | |
| Create.Index("IX_AspNetUserClaims_UserId").OnTable("AspNetUserClaims").OnColumn("UserId"); | |
| Create.Index("IX_AspNetUserLogins_UserId").OnTable("AspNetUserLogins").OnColumn("UserId"); | |
| Create.Index("IX_AspNetUserRoles_RoleId").OnTable("AspNetUserRoles").OnColumn("RoleId"); | |
| Create.Index("EmailIndex").OnTable("AspNetUsers").OnColumn("NormalizedEmail"); | |
| Create.Index("UserNameIndex").OnTable("AspNetUsers").OnColumn("NormalizedUserName").Unique(); | |
| } | |
| public override void Down() | |
| { | |
| Delete.Table("AspNetRoleClaims"); | |
| Delete.Table("AspNetUserClaims"); | |
| Delete.Table("AspNetUserLogins"); | |
| Delete.Table("AspNetUserRoles"); | |
| Delete.Table("AspNetUserTokens"); | |
| Delete.Table("AspNetRoles"); | |
| Delete.Table("AspNetUsers"); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment