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"); } } }