12 protected override void Up(MigrationBuilder migrationBuilder)
14 migrationBuilder.CreateTable(
18 Id = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
19 Name = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
20 NormalizedName = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
21 ConcurrencyStamp = table.Column<
string>(type:
"nvarchar(max)", nullable:
true)
25 table.PrimaryKey(
"PK_AspNetRoles", x => x.Id);
28 migrationBuilder.CreateTable(
32 Id = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
33 KeySalt = table.Column<
byte[]>(type:
"varbinary(max)", nullable:
false),
34 UserName = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
35 NormalizedUserName = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
36 Email = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
37 NormalizedEmail = table.Column<
string>(type:
"nvarchar(256)", maxLength: 256, nullable:
true),
38 EmailConfirmed = table.Column<
bool>(type:
"bit", nullable:
false),
39 PasswordHash = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
40 SecurityStamp = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
41 ConcurrencyStamp = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
42 PhoneNumber = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
43 PhoneNumberConfirmed = table.Column<
bool>(type:
"bit", nullable:
false),
44 TwoFactorEnabled = table.Column<
bool>(type:
"bit", nullable:
false),
45 LockoutEnd = table.Column<DateTimeOffset>(type:
"datetimeoffset", nullable:
true),
46 LockoutEnabled = table.Column<
bool>(type:
"bit", nullable:
false),
47 AccessFailedCount = table.Column<
int>(type:
"int", nullable:
false)
51 table.PrimaryKey(
"PK_AspNetUsers", x => x.Id);
54 migrationBuilder.CreateTable(
55 name:
"AspNetRoleClaims",
58 Id = table.Column<
int>(type:
"int", nullable:
false)
59 .Annotation(
"SqlServer:Identity",
"1, 1"),
60 RoleId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
61 ClaimType = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
62 ClaimValue = table.Column<
string>(type:
"nvarchar(max)", nullable:
true)
66 table.PrimaryKey(
"PK_AspNetRoleClaims", x => x.Id);
68 name:
"FK_AspNetRoleClaims_AspNetRoles_RoleId",
69 column: x => x.RoleId,
70 principalTable:
"AspNetRoles",
71 principalColumn:
"Id",
72 onDelete: ReferentialAction.Cascade);
75 migrationBuilder.CreateTable(
76 name:
"AspNetUserClaims",
79 Id = table.Column<
int>(type:
"int", nullable:
false)
80 .Annotation(
"SqlServer:Identity",
"1, 1"),
81 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
82 ClaimType = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
83 ClaimValue = table.Column<
string>(type:
"nvarchar(max)", nullable:
true)
87 table.PrimaryKey(
"PK_AspNetUserClaims", x => x.Id);
89 name:
"FK_AspNetUserClaims_AspNetUsers_UserId",
90 column: x => x.UserId,
91 principalTable:
"AspNetUsers",
92 principalColumn:
"Id",
93 onDelete: ReferentialAction.Cascade);
96 migrationBuilder.CreateTable(
97 name:
"AspNetUserLogins",
100 LoginProvider = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
101 ProviderKey = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
102 ProviderDisplayName = table.Column<
string>(type:
"nvarchar(max)", nullable:
true),
103 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false)
105 constraints: table =>
107 table.PrimaryKey(
"PK_AspNetUserLogins", x =>
new { x.LoginProvider, x.ProviderKey });
109 name:
"FK_AspNetUserLogins_AspNetUsers_UserId",
110 column: x => x.UserId,
111 principalTable:
"AspNetUsers",
112 principalColumn:
"Id",
113 onDelete: ReferentialAction.Cascade);
116 migrationBuilder.CreateTable(
117 name:
"AspNetUserRoles",
118 columns: table =>
new
120 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
121 RoleId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false)
123 constraints: table =>
125 table.PrimaryKey(
"PK_AspNetUserRoles", x =>
new { x.UserId, x.RoleId });
127 name:
"FK_AspNetUserRoles_AspNetRoles_RoleId",
128 column: x => x.RoleId,
129 principalTable:
"AspNetRoles",
130 principalColumn:
"Id",
131 onDelete: ReferentialAction.Cascade);
133 name:
"FK_AspNetUserRoles_AspNetUsers_UserId",
134 column: x => x.UserId,
135 principalTable:
"AspNetUsers",
136 principalColumn:
"Id",
137 onDelete: ReferentialAction.Cascade);
140 migrationBuilder.CreateTable(
141 name:
"AspNetUserTokens",
142 columns: table =>
new
144 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
145 LoginProvider = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
146 Name = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
147 Value = table.Column<
string>(type:
"nvarchar(max)", nullable:
true)
149 constraints: table =>
151 table.PrimaryKey(
"PK_AspNetUserTokens", x =>
new { x.UserId, x.LoginProvider, x.Name });
153 name:
"FK_AspNetUserTokens_AspNetUsers_UserId",
154 column: x => x.UserId,
155 principalTable:
"AspNetUsers",
156 principalColumn:
"Id",
157 onDelete: ReferentialAction.Cascade);
160 migrationBuilder.CreateTable(
161 name:
"UserActivities",
162 columns: table =>
new
164 Id = table.Column<
long>(type:
"bigint", nullable:
false)
165 .Annotation(
"SqlServer:Identity",
"1, 1"),
166 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
167 ActivityType = table.Column<
int>(type:
"int", nullable:
false),
168 Timestamp = table.Column<DateTime>(type:
"datetime2", nullable:
false),
169 IpAddress = table.Column<
string>(type:
"nvarchar(45)", maxLength: 45, nullable:
false),
170 Success = table.Column<
bool>(type:
"bit", nullable:
false),
171 Details = table.Column<
string>(type:
"nvarchar(255)", maxLength: 255, nullable:
true),
172 UserAgent = table.Column<
string>(type:
"nvarchar(max)", nullable:
true)
174 constraints: table =>
176 table.PrimaryKey(
"PK_UserActivities", x => x.Id);
178 name:
"FK_UserActivities_AspNetUsers_UserId",
179 column: x => x.UserId,
180 principalTable:
"AspNetUsers",
181 principalColumn:
"Id",
182 onDelete: ReferentialAction.Cascade);
185 migrationBuilder.CreateTable(
187 columns: table =>
new
189 ItemId = table.Column<
int>(type:
"int", nullable:
false)
190 .Annotation(
"SqlServer:Identity",
"1, 1"),
191 UserId = table.Column<
string>(type:
"nvarchar(450)", nullable:
false),
192 Name = table.Column<
string>(type:
"nvarchar(max)", nullable:
false),
193 IsBlobStored = table.Column<
bool>(type:
"bit", nullable:
false),
194 ItemType = table.Column<
int>(type:
"int", nullable:
false),
195 EncryptedData = table.Column<
byte[]>(type:
"varbinary(max)", nullable:
false),
196 BlobId = table.Column<Guid>(type:
"uniqueidentifier", nullable:
true),
197 Iv = table.Column<
byte[]>(type:
"varbinary(max)", nullable:
false),
198 CreatedAt = table.Column<DateTime>(type:
"datetime2", nullable:
false),
199 UpdatedAt = table.Column<DateTime>(type:
"datetime2", nullable:
false)
201 constraints: table =>
203 table.PrimaryKey(
"PK_VaultItems", x => x.ItemId);
205 name:
"FK_VaultItems_AspNetUsers_UserId",
206 column: x => x.UserId,
207 principalTable:
"AspNetUsers",
208 principalColumn:
"Id",
209 onDelete: ReferentialAction.Cascade);
212 migrationBuilder.CreateTable(
214 columns: table =>
new
216 BlobId = table.Column<Guid>(type:
"uniqueidentifier", nullable:
false),
217 VaultItemId = table.Column<
int>(type:
"int", nullable:
false),
218 Data = table.Column<
byte[]>(type:
"varbinary(max)", nullable:
false)
220 constraints: table =>
222 table.PrimaryKey(
"PK_StoredBlobs", x => x.BlobId);
224 name:
"FK_StoredBlobs_VaultItems_VaultItemId",
225 column: x => x.VaultItemId,
226 principalTable:
"VaultItems",
227 principalColumn:
"ItemId",
228 onDelete: ReferentialAction.Cascade);
231 migrationBuilder.CreateIndex(
232 name:
"IX_AspNetRoleClaims_RoleId",
233 table:
"AspNetRoleClaims",
236 migrationBuilder.CreateIndex(
237 name:
"RoleNameIndex",
238 table:
"AspNetRoles",
239 column:
"NormalizedName",
241 filter:
"[NormalizedName] IS NOT NULL");
243 migrationBuilder.CreateIndex(
244 name:
"IX_AspNetUserClaims_UserId",
245 table:
"AspNetUserClaims",
248 migrationBuilder.CreateIndex(
249 name:
"IX_AspNetUserLogins_UserId",
250 table:
"AspNetUserLogins",
253 migrationBuilder.CreateIndex(
254 name:
"IX_AspNetUserRoles_RoleId",
255 table:
"AspNetUserRoles",
258 migrationBuilder.CreateIndex(
260 table:
"AspNetUsers",
261 column:
"NormalizedEmail");
263 migrationBuilder.CreateIndex(
264 name:
"UserNameIndex",
265 table:
"AspNetUsers",
266 column:
"NormalizedUserName",
268 filter:
"[NormalizedUserName] IS NOT NULL");
270 migrationBuilder.CreateIndex(
271 name:
"IX_StoredBlobs_VaultItemId",
272 table:
"StoredBlobs",
273 column:
"VaultItemId",
276 migrationBuilder.CreateIndex(
277 name:
"IX_UserActivities_Timestamp",
278 table:
"UserActivities",
279 column:
"Timestamp");
281 migrationBuilder.CreateIndex(
282 name:
"IX_UserActivities_UserId",
283 table:
"UserActivities",
286 migrationBuilder.CreateIndex(
287 name:
"IX_VaultItems_UserId",