20211001125433_InitialDB.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. namespace DutchTreat.Migrations
  4. {
  5. public partial class InitialDB : Migration
  6. {
  7. protected override void Up(MigrationBuilder migrationBuilder)
  8. {
  9. migrationBuilder.CreateTable(
  10. name: "AspNetRoles",
  11. columns: table => new
  12. {
  13. Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
  14. Name = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  15. NormalizedName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  16. ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true)
  17. },
  18. constraints: table =>
  19. {
  20. table.PrimaryKey("PK_AspNetRoles", x => x.Id);
  21. });
  22. migrationBuilder.CreateTable(
  23. name: "AspNetUsers",
  24. columns: table => new
  25. {
  26. Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
  27. FirstName = table.Column<string>(type: "nvarchar(max)", nullable: true),
  28. LastName = table.Column<string>(type: "nvarchar(max)", nullable: true),
  29. UserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  30. NormalizedUserName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  31. Email = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  32. NormalizedEmail = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
  33. EmailConfirmed = table.Column<bool>(type: "bit", nullable: false),
  34. PasswordHash = table.Column<string>(type: "nvarchar(max)", nullable: true),
  35. SecurityStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
  36. ConcurrencyStamp = table.Column<string>(type: "nvarchar(max)", nullable: true),
  37. PhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
  38. PhoneNumberConfirmed = table.Column<bool>(type: "bit", nullable: false),
  39. TwoFactorEnabled = table.Column<bool>(type: "bit", nullable: false),
  40. LockoutEnd = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
  41. LockoutEnabled = table.Column<bool>(type: "bit", nullable: false),
  42. AccessFailedCount = table.Column<int>(type: "int", nullable: false)
  43. },
  44. constraints: table =>
  45. {
  46. table.PrimaryKey("PK_AspNetUsers", x => x.Id);
  47. });
  48. migrationBuilder.CreateTable(
  49. name: "Products",
  50. columns: table => new
  51. {
  52. Id = table.Column<int>(type: "int", nullable: false)
  53. .Annotation("SqlServer:Identity", "1, 1"),
  54. Category = table.Column<string>(type: "nvarchar(max)", nullable: true),
  55. Size = table.Column<string>(type: "nvarchar(max)", nullable: true),
  56. Price = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
  57. Title = table.Column<string>(type: "nvarchar(max)", nullable: true),
  58. ArtDescription = table.Column<string>(type: "nvarchar(max)", nullable: true),
  59. ArtDating = table.Column<string>(type: "nvarchar(max)", nullable: true),
  60. ArtId = table.Column<string>(type: "nvarchar(max)", nullable: true),
  61. Artist = table.Column<string>(type: "nvarchar(max)", nullable: true),
  62. ArtistBirthDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  63. ArtistDeathDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  64. ArtistNationality = table.Column<string>(type: "nvarchar(max)", nullable: true)
  65. },
  66. constraints: table =>
  67. {
  68. table.PrimaryKey("PK_Products", x => x.Id);
  69. });
  70. migrationBuilder.CreateTable(
  71. name: "AspNetRoleClaims",
  72. columns: table => new
  73. {
  74. Id = table.Column<int>(type: "int", nullable: false)
  75. .Annotation("SqlServer:Identity", "1, 1"),
  76. RoleId = table.Column<string>(type: "nvarchar(450)", nullable: false),
  77. ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
  78. ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
  79. },
  80. constraints: table =>
  81. {
  82. table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
  83. table.ForeignKey(
  84. name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
  85. column: x => x.RoleId,
  86. principalTable: "AspNetRoles",
  87. principalColumn: "Id",
  88. onDelete: ReferentialAction.Cascade);
  89. });
  90. migrationBuilder.CreateTable(
  91. name: "AspNetUserClaims",
  92. columns: table => new
  93. {
  94. Id = table.Column<int>(type: "int", nullable: false)
  95. .Annotation("SqlServer:Identity", "1, 1"),
  96. UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
  97. ClaimType = table.Column<string>(type: "nvarchar(max)", nullable: true),
  98. ClaimValue = table.Column<string>(type: "nvarchar(max)", nullable: true)
  99. },
  100. constraints: table =>
  101. {
  102. table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
  103. table.ForeignKey(
  104. name: "FK_AspNetUserClaims_AspNetUsers_UserId",
  105. column: x => x.UserId,
  106. principalTable: "AspNetUsers",
  107. principalColumn: "Id",
  108. onDelete: ReferentialAction.Cascade);
  109. });
  110. migrationBuilder.CreateTable(
  111. name: "AspNetUserLogins",
  112. columns: table => new
  113. {
  114. LoginProvider = table.Column<string>(type: "nvarchar(450)", nullable: false),
  115. ProviderKey = table.Column<string>(type: "nvarchar(450)", nullable: false),
  116. ProviderDisplayName = table.Column<string>(type: "nvarchar(max)", nullable: true),
  117. UserId = table.Column<string>(type: "nvarchar(450)", nullable: false)
  118. },
  119. constraints: table =>
  120. {
  121. table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
  122. table.ForeignKey(
  123. name: "FK_AspNetUserLogins_AspNetUsers_UserId",
  124. column: x => x.UserId,
  125. principalTable: "AspNetUsers",
  126. principalColumn: "Id",
  127. onDelete: ReferentialAction.Cascade);
  128. });
  129. migrationBuilder.CreateTable(
  130. name: "AspNetUserRoles",
  131. columns: table => new
  132. {
  133. UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
  134. RoleId = table.Column<string>(type: "nvarchar(450)", nullable: false)
  135. },
  136. constraints: table =>
  137. {
  138. table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
  139. table.ForeignKey(
  140. name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
  141. column: x => x.RoleId,
  142. principalTable: "AspNetRoles",
  143. principalColumn: "Id",
  144. onDelete: ReferentialAction.Cascade);
  145. table.ForeignKey(
  146. name: "FK_AspNetUserRoles_AspNetUsers_UserId",
  147. column: x => x.UserId,
  148. principalTable: "AspNetUsers",
  149. principalColumn: "Id",
  150. onDelete: ReferentialAction.Cascade);
  151. });
  152. migrationBuilder.CreateTable(
  153. name: "AspNetUserTokens",
  154. columns: table => new
  155. {
  156. UserId = table.Column<string>(type: "nvarchar(450)", nullable: false),
  157. LoginProvider = table.Column<string>(type: "nvarchar(450)", nullable: false),
  158. Name = table.Column<string>(type: "nvarchar(450)", nullable: false),
  159. Value = table.Column<string>(type: "nvarchar(max)", nullable: true)
  160. },
  161. constraints: table =>
  162. {
  163. table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
  164. table.ForeignKey(
  165. name: "FK_AspNetUserTokens_AspNetUsers_UserId",
  166. column: x => x.UserId,
  167. principalTable: "AspNetUsers",
  168. principalColumn: "Id",
  169. onDelete: ReferentialAction.Cascade);
  170. });
  171. migrationBuilder.CreateTable(
  172. name: "Orders",
  173. columns: table => new
  174. {
  175. Id = table.Column<int>(type: "int", nullable: false)
  176. .Annotation("SqlServer:Identity", "1, 1"),
  177. OrderDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  178. OrderNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
  179. UserId = table.Column<string>(type: "nvarchar(450)", nullable: true)
  180. },
  181. constraints: table =>
  182. {
  183. table.PrimaryKey("PK_Orders", x => x.Id);
  184. table.ForeignKey(
  185. name: "FK_Orders_AspNetUsers_UserId",
  186. column: x => x.UserId,
  187. principalTable: "AspNetUsers",
  188. principalColumn: "Id",
  189. onDelete: ReferentialAction.Restrict);
  190. });
  191. migrationBuilder.CreateTable(
  192. name: "OrderItem",
  193. columns: table => new
  194. {
  195. Id = table.Column<int>(type: "int", nullable: false)
  196. .Annotation("SqlServer:Identity", "1, 1"),
  197. ProductId = table.Column<int>(type: "int", nullable: true),
  198. Quantity = table.Column<int>(type: "int", nullable: false),
  199. UnitPrice = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
  200. OrderId = table.Column<int>(type: "int", nullable: true)
  201. },
  202. constraints: table =>
  203. {
  204. table.PrimaryKey("PK_OrderItem", x => x.Id);
  205. table.ForeignKey(
  206. name: "FK_OrderItem_Orders_OrderId",
  207. column: x => x.OrderId,
  208. principalTable: "Orders",
  209. principalColumn: "Id",
  210. onDelete: ReferentialAction.Restrict);
  211. table.ForeignKey(
  212. name: "FK_OrderItem_Products_ProductId",
  213. column: x => x.ProductId,
  214. principalTable: "Products",
  215. principalColumn: "Id",
  216. onDelete: ReferentialAction.Restrict);
  217. });
  218. migrationBuilder.CreateIndex(
  219. name: "IX_AspNetRoleClaims_RoleId",
  220. table: "AspNetRoleClaims",
  221. column: "RoleId");
  222. migrationBuilder.CreateIndex(
  223. name: "RoleNameIndex",
  224. table: "AspNetRoles",
  225. column: "NormalizedName",
  226. unique: true,
  227. filter: "[NormalizedName] IS NOT NULL");
  228. migrationBuilder.CreateIndex(
  229. name: "IX_AspNetUserClaims_UserId",
  230. table: "AspNetUserClaims",
  231. column: "UserId");
  232. migrationBuilder.CreateIndex(
  233. name: "IX_AspNetUserLogins_UserId",
  234. table: "AspNetUserLogins",
  235. column: "UserId");
  236. migrationBuilder.CreateIndex(
  237. name: "IX_AspNetUserRoles_RoleId",
  238. table: "AspNetUserRoles",
  239. column: "RoleId");
  240. migrationBuilder.CreateIndex(
  241. name: "EmailIndex",
  242. table: "AspNetUsers",
  243. column: "NormalizedEmail");
  244. migrationBuilder.CreateIndex(
  245. name: "UserNameIndex",
  246. table: "AspNetUsers",
  247. column: "NormalizedUserName",
  248. unique: true,
  249. filter: "[NormalizedUserName] IS NOT NULL");
  250. migrationBuilder.CreateIndex(
  251. name: "IX_OrderItem_OrderId",
  252. table: "OrderItem",
  253. column: "OrderId");
  254. migrationBuilder.CreateIndex(
  255. name: "IX_OrderItem_ProductId",
  256. table: "OrderItem",
  257. column: "ProductId");
  258. migrationBuilder.CreateIndex(
  259. name: "IX_Orders_UserId",
  260. table: "Orders",
  261. column: "UserId");
  262. }
  263. protected override void Down(MigrationBuilder migrationBuilder)
  264. {
  265. migrationBuilder.DropTable(
  266. name: "AspNetRoleClaims");
  267. migrationBuilder.DropTable(
  268. name: "AspNetUserClaims");
  269. migrationBuilder.DropTable(
  270. name: "AspNetUserLogins");
  271. migrationBuilder.DropTable(
  272. name: "AspNetUserRoles");
  273. migrationBuilder.DropTable(
  274. name: "AspNetUserTokens");
  275. migrationBuilder.DropTable(
  276. name: "OrderItem");
  277. migrationBuilder.DropTable(
  278. name: "AspNetRoles");
  279. migrationBuilder.DropTable(
  280. name: "Orders");
  281. migrationBuilder.DropTable(
  282. name: "Products");
  283. migrationBuilder.DropTable(
  284. name: "AspNetUsers");
  285. }
  286. }
  287. }