using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Infrastructure.Migrations.AppDb
{
///
public partial class AddPasswordHashToMember : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn(
name: "PasswordHash",
table: "Member",
type: "nvarchar(max)",
nullable: true);
migrationBuilder.CreateTable(
name: "RefreshToken",
columns: table => new
{
ID = table.Column(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberID = table.Column(type: "int", nullable: false),
Token = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false),
ExpiresAt = table.Column(type: "datetime2", nullable: false),
CreatedAt = table.Column(type: "datetime2", nullable: false),
IsRevoked = table.Column(type: "bit", nullable: false, defaultValue: false),
RevokedAt = table.Column(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_RefreshToken", x => x.ID);
table.ForeignKey(
name: "FK_RefreshToken_Member_MemberID",
column: x => x.MemberID,
principalTable: "Member",
principalColumn: "ID",
onDelete: ReferentialAction.Cascade);
},
comment: "리프레시 토큰");
migrationBuilder.CreateIndex(
name: "IX_RefreshToken_MemberID",
table: "RefreshToken",
column: "MemberID");
migrationBuilder.CreateIndex(
name: "IX_RefreshToken_Token",
table: "RefreshToken",
column: "Token",
unique: true);
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "RefreshToken");
migrationBuilder.DropColumn(
name: "PasswordHash",
table: "Member");
}
}
}