20260212080501_AddPasswordHashToMember.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace Infrastructure.Migrations.AppDb;
  5. /// <inheritdoc />
  6. public partial class AddPasswordHashToMember : Migration
  7. {
  8. /// <inheritdoc />
  9. protected override void Up(MigrationBuilder migrationBuilder)
  10. {
  11. migrationBuilder.AddColumn<string>(
  12. name: "PasswordHash",
  13. table: "Member",
  14. type: "nvarchar(max)",
  15. nullable: true);
  16. migrationBuilder.CreateTable(
  17. name: "RefreshToken",
  18. columns: table => new
  19. {
  20. ID = table.Column<long>(type: "bigint", nullable: false)
  21. .Annotation("SqlServer:Identity", "1, 1"),
  22. MemberID = table.Column<int>(type: "int", nullable: false),
  23. Token = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
  24. ExpiresAt = table.Column<DateTime>(type: "datetime2", nullable: false),
  25. CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
  26. IsRevoked = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
  27. RevokedAt = table.Column<DateTime>(type: "datetime2", nullable: true)
  28. },
  29. constraints: table =>
  30. {
  31. table.PrimaryKey("PK_RefreshToken", x => x.ID);
  32. table.ForeignKey(
  33. name: "FK_RefreshToken_Member_MemberID",
  34. column: x => x.MemberID,
  35. principalTable: "Member",
  36. principalColumn: "ID",
  37. onDelete: ReferentialAction.Cascade);
  38. },
  39. comment: "리프레시 토큰");
  40. migrationBuilder.CreateIndex(
  41. name: "IX_RefreshToken_MemberID",
  42. table: "RefreshToken",
  43. column: "MemberID");
  44. migrationBuilder.CreateIndex(
  45. name: "IX_RefreshToken_Token",
  46. table: "RefreshToken",
  47. column: "Token",
  48. unique: true);
  49. }
  50. /// <inheritdoc />
  51. protected override void Down(MigrationBuilder migrationBuilder)
  52. {
  53. migrationBuilder.DropTable(
  54. name: "RefreshToken");
  55. migrationBuilder.DropColumn(
  56. name: "PasswordHash",
  57. table: "Member");
  58. }
  59. }