1 using System; 2 using System.Collections.Generic; 3 using Microsoft.EntityFrameworkCore.Metadata; 4 using Microsoft.EntityFrameworkCore.Migrations; 5 6 namespace IdentitySample.DefaultUI.Data.Migrations 7 { 8 public partial class CreateIdentitySchema : Migration 9 { Up(MigrationBuilder migrationBuilder)10 protected override void Up(MigrationBuilder migrationBuilder) 11 { 12 migrationBuilder.CreateTable( 13 name: "AspNetRoles", 14 columns: table => new 15 { 16 Id = table.Column<string>(nullable: false), 17 Name = table.Column<string>(maxLength: 256, nullable: true), 18 NormalizedName = table.Column<string>(maxLength: 256, nullable: true), 19 ConcurrencyStamp = table.Column<string>(nullable: true) 20 }, 21 constraints: table => 22 { 23 table.PrimaryKey("PK_AspNetRoles", x => x.Id); 24 }); 25 26 migrationBuilder.CreateTable( 27 name: "AspNetUsers", 28 columns: table => new 29 { 30 Id = table.Column<string>(nullable: false), 31 UserName = table.Column<string>(maxLength: 256, nullable: true), 32 NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true), 33 Email = table.Column<string>(maxLength: 256, nullable: true), 34 NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), 35 EmailConfirmed = table.Column<bool>(nullable: false), 36 PasswordHash = table.Column<string>(nullable: true), 37 SecurityStamp = table.Column<string>(nullable: true), 38 ConcurrencyStamp = table.Column<string>(nullable: true), 39 PhoneNumber = table.Column<string>(nullable: true), 40 PhoneNumberConfirmed = table.Column<bool>(nullable: false), 41 TwoFactorEnabled = table.Column<bool>(nullable: false), 42 LockoutEnd = table.Column<DateTimeOffset>(nullable: true), 43 LockoutEnabled = table.Column<bool>(nullable: false), 44 AccessFailedCount = table.Column<int>(nullable: false), 45 Name = table.Column<string>(nullable: true), 46 Age = table.Column<int>(nullable: false) 47 }, 48 constraints: table => 49 { 50 table.PrimaryKey("PK_AspNetUsers", x => x.Id); 51 }); 52 53 migrationBuilder.CreateTable( 54 name: "AspNetRoleClaims", 55 columns: table => new 56 { 57 Id = table.Column<int>(nullable: false) 58 .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), 59 RoleId = table.Column<string>(nullable: false), 60 ClaimType = table.Column<string>(nullable: true), 61 ClaimValue = table.Column<string>(nullable: true) 62 }, 63 constraints: table => 64 { 65 table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); 66 table.ForeignKey( 67 name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", 68 column: x => x.RoleId, 69 principalTable: "AspNetRoles", 70 principalColumn: "Id", 71 onDelete: ReferentialAction.Cascade); 72 }); 73 74 migrationBuilder.CreateTable( 75 name: "AspNetUserClaims", 76 columns: table => new 77 { 78 Id = table.Column<int>(nullable: false) 79 .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), 80 UserId = table.Column<string>(nullable: false), 81 ClaimType = table.Column<string>(nullable: true), 82 ClaimValue = table.Column<string>(nullable: true) 83 }, 84 constraints: table => 85 { 86 table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); 87 table.ForeignKey( 88 name: "FK_AspNetUserClaims_AspNetUsers_UserId", 89 column: x => x.UserId, 90 principalTable: "AspNetUsers", 91 principalColumn: "Id", 92 onDelete: ReferentialAction.Cascade); 93 }); 94 95 migrationBuilder.CreateTable( 96 name: "AspNetUserLogins", 97 columns: table => new 98 { 99 LoginProvider = table.Column<string>(maxLength: 128, nullable: false), 100 ProviderKey = table.Column<string>(maxLength: 128, nullable: false), 101 ProviderDisplayName = table.Column<string>(nullable: true), 102 UserId = table.Column<string>(nullable: false) 103 }, 104 constraints: table => 105 { 106 table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); 107 table.ForeignKey( 108 name: "FK_AspNetUserLogins_AspNetUsers_UserId", 109 column: x => x.UserId, 110 principalTable: "AspNetUsers", 111 principalColumn: "Id", 112 onDelete: ReferentialAction.Cascade); 113 }); 114 115 migrationBuilder.CreateTable( 116 name: "AspNetUserRoles", 117 columns: table => new 118 { 119 UserId = table.Column<string>(nullable: false), 120 RoleId = table.Column<string>(nullable: false) 121 }, 122 constraints: table => 123 { 124 table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); 125 table.ForeignKey( 126 name: "FK_AspNetUserRoles_AspNetRoles_RoleId", 127 column: x => x.RoleId, 128 principalTable: "AspNetRoles", 129 principalColumn: "Id", 130 onDelete: ReferentialAction.Cascade); 131 table.ForeignKey( 132 name: "FK_AspNetUserRoles_AspNetUsers_UserId", 133 column: x => x.UserId, 134 principalTable: "AspNetUsers", 135 principalColumn: "Id", 136 onDelete: ReferentialAction.Cascade); 137 }); 138 139 migrationBuilder.CreateTable( 140 name: "AspNetUserTokens", 141 columns: table => new 142 { 143 UserId = table.Column<string>(nullable: false), 144 LoginProvider = table.Column<string>(maxLength: 128, nullable: false), 145 Name = table.Column<string>(maxLength: 128, nullable: false), 146 Value = table.Column<string>(nullable: true) 147 }, 148 constraints: table => 149 { 150 table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); 151 table.ForeignKey( 152 name: "FK_AspNetUserTokens_AspNetUsers_UserId", 153 column: x => x.UserId, 154 principalTable: "AspNetUsers", 155 principalColumn: "Id", 156 onDelete: ReferentialAction.Cascade); 157 }); 158 159 migrationBuilder.CreateIndex( 160 name: "IX_AspNetRoleClaims_RoleId", 161 table: "AspNetRoleClaims", 162 column: "RoleId"); 163 164 migrationBuilder.CreateIndex( 165 name: "RoleNameIndex", 166 table: "AspNetRoles", 167 column: "NormalizedName", 168 unique: true, 169 filter: "[NormalizedName] IS NOT NULL"); 170 171 migrationBuilder.CreateIndex( 172 name: "IX_AspNetUserClaims_UserId", 173 table: "AspNetUserClaims", 174 column: "UserId"); 175 176 migrationBuilder.CreateIndex( 177 name: "IX_AspNetUserLogins_UserId", 178 table: "AspNetUserLogins", 179 column: "UserId"); 180 181 migrationBuilder.CreateIndex( 182 name: "IX_AspNetUserRoles_RoleId", 183 table: "AspNetUserRoles", 184 column: "RoleId"); 185 186 migrationBuilder.CreateIndex( 187 name: "EmailIndex", 188 table: "AspNetUsers", 189 column: "NormalizedEmail"); 190 191 migrationBuilder.CreateIndex( 192 name: "UserNameIndex", 193 table: "AspNetUsers", 194 column: "NormalizedUserName", 195 unique: true, 196 filter: "[NormalizedUserName] IS NOT NULL"); 197 } 198 Down(MigrationBuilder migrationBuilder)199 protected override void Down(MigrationBuilder migrationBuilder) 200 { 201 migrationBuilder.DropTable( 202 name: "AspNetRoleClaims"); 203 204 migrationBuilder.DropTable( 205 name: "AspNetUserClaims"); 206 207 migrationBuilder.DropTable( 208 name: "AspNetUserLogins"); 209 210 migrationBuilder.DropTable( 211 name: "AspNetUserRoles"); 212 213 migrationBuilder.DropTable( 214 name: "AspNetUserTokens"); 215 216 migrationBuilder.DropTable( 217 name: "AspNetRoles"); 218 219 migrationBuilder.DropTable( 220 name: "AspNetUsers"); 221 } 222 } 223 } 224