You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

175 lines
7.9 KiB

  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. #pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
  5. namespace Core.Migrations
  6. {
  7. /// <inheritdoc />
  8. public partial class Init : Migration
  9. {
  10. /// <inheritdoc />
  11. protected override void Up(MigrationBuilder migrationBuilder)
  12. {
  13. migrationBuilder.CreateTable(
  14. name: "Accounts",
  15. columns: table => new
  16. {
  17. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  18. Username = table.Column<string>(type: "nvarchar(max)", nullable: true),
  19. Password = table.Column<string>(type: "nvarchar(max)", nullable: true),
  20. Mobile = table.Column<string>(type: "nvarchar(max)", nullable: true),
  21. Name = table.Column<string>(type: "nvarchar(max)", nullable: true),
  22. Email = table.Column<string>(type: "nvarchar(max)", nullable: true),
  23. Deleted = table.Column<bool>(type: "bit", nullable: false),
  24. CreateDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  25. ModifyDate = table.Column<DateTime>(type: "datetime2", nullable: false)
  26. },
  27. constraints: table =>
  28. {
  29. table.PrimaryKey("PK_Accounts", x => x.Id);
  30. });
  31. migrationBuilder.CreateTable(
  32. name: "Roles",
  33. columns: table => new
  34. {
  35. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  36. Name = table.Column<string>(type: "nvarchar(max)", nullable: true),
  37. Deleted = table.Column<bool>(type: "bit", nullable: false),
  38. CreateDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  39. ModifyDate = table.Column<DateTime>(type: "datetime2", nullable: false)
  40. },
  41. constraints: table =>
  42. {
  43. table.PrimaryKey("PK_Roles", x => x.Id);
  44. });
  45. migrationBuilder.CreateTable(
  46. name: "LoginTokens",
  47. columns: table => new
  48. {
  49. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  50. Token = table.Column<string>(type: "nvarchar(max)", nullable: true),
  51. ExpireationDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  52. Used = table.Column<bool>(type: "bit", nullable: false),
  53. AccountId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  54. Deleted = table.Column<bool>(type: "bit", nullable: false),
  55. CreateDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  56. ModifyDate = table.Column<DateTime>(type: "datetime2", nullable: false)
  57. },
  58. constraints: table =>
  59. {
  60. table.PrimaryKey("PK_LoginTokens", x => x.Id);
  61. table.ForeignKey(
  62. name: "FK_LoginTokens_Accounts_AccountId",
  63. column: x => x.AccountId,
  64. principalTable: "Accounts",
  65. principalColumn: "Id",
  66. onDelete: ReferentialAction.Cascade);
  67. });
  68. migrationBuilder.CreateTable(
  69. name: "AccountRoles",
  70. columns: table => new
  71. {
  72. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  73. RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  74. AccountId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  75. Deleted = table.Column<bool>(type: "bit", nullable: false),
  76. CreateDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  77. ModifyDate = table.Column<DateTime>(type: "datetime2", nullable: false)
  78. },
  79. constraints: table =>
  80. {
  81. table.PrimaryKey("PK_AccountRoles", x => x.Id);
  82. table.ForeignKey(
  83. name: "FK_AccountRoles_Accounts_AccountId",
  84. column: x => x.AccountId,
  85. principalTable: "Accounts",
  86. principalColumn: "Id",
  87. onDelete: ReferentialAction.Cascade);
  88. table.ForeignKey(
  89. name: "FK_AccountRoles_Roles_RoleId",
  90. column: x => x.RoleId,
  91. principalTable: "Roles",
  92. principalColumn: "Id",
  93. onDelete: ReferentialAction.Cascade);
  94. });
  95. migrationBuilder.CreateTable(
  96. name: "RefreshTokens",
  97. columns: table => new
  98. {
  99. Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  100. Token = table.Column<string>(type: "nvarchar(max)", nullable: true),
  101. LoginTokenId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
  102. Deleted = table.Column<bool>(type: "bit", nullable: false),
  103. CreateDate = table.Column<DateTime>(type: "datetime2", nullable: false),
  104. ModifyDate = table.Column<DateTime>(type: "datetime2", nullable: false)
  105. },
  106. constraints: table =>
  107. {
  108. table.PrimaryKey("PK_RefreshTokens", x => x.Id);
  109. table.ForeignKey(
  110. name: "FK_RefreshTokens_LoginTokens_LoginTokenId",
  111. column: x => x.LoginTokenId,
  112. principalTable: "LoginTokens",
  113. principalColumn: "Id",
  114. onDelete: ReferentialAction.Cascade);
  115. });
  116. migrationBuilder.InsertData(
  117. table: "Roles",
  118. columns: new[] { "Id", "CreateDate", "Deleted", "ModifyDate", "Name" },
  119. values: new object[,]
  120. {
  121. { new Guid("6b573e92-e3b7-4f88-9509-a036af7999eb"), new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6227), false, new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6227), "Developer" },
  122. { new Guid("c05c6f75-e2cd-408c-9998-8ffc5778d2b5"), new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6215), false, new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6225), "Admin" }
  123. });
  124. migrationBuilder.CreateIndex(
  125. name: "IX_AccountRoles_AccountId",
  126. table: "AccountRoles",
  127. column: "AccountId");
  128. migrationBuilder.CreateIndex(
  129. name: "IX_AccountRoles_RoleId",
  130. table: "AccountRoles",
  131. column: "RoleId");
  132. migrationBuilder.CreateIndex(
  133. name: "IX_LoginTokens_AccountId",
  134. table: "LoginTokens",
  135. column: "AccountId");
  136. migrationBuilder.CreateIndex(
  137. name: "IX_RefreshTokens_LoginTokenId",
  138. table: "RefreshTokens",
  139. column: "LoginTokenId",
  140. unique: true);
  141. }
  142. /// <inheritdoc />
  143. protected override void Down(MigrationBuilder migrationBuilder)
  144. {
  145. migrationBuilder.DropTable(
  146. name: "AccountRoles");
  147. migrationBuilder.DropTable(
  148. name: "RefreshTokens");
  149. migrationBuilder.DropTable(
  150. name: "Roles");
  151. migrationBuilder.DropTable(
  152. name: "LoginTokens");
  153. migrationBuilder.DropTable(
  154. name: "Accounts");
  155. }
  156. }
  157. }