using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Infrastructure.Migrations.AppDb
{
///
public partial class AddCrewInvitation : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "CrewInvitation",
columns: table => new
{
ID = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
CrewID = table.Column(type: "int", nullable: false),
TargetMemberID = table.Column(type: "int", nullable: false),
InvitedByMemberID = table.Column(type: "int", nullable: false),
Nickname = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false),
Role = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true),
SortOrder = table.Column(type: "int", nullable: false),
Status = table.Column(type: "int", nullable: false),
InvitedAt = table.Column(type: "datetime2", nullable: false),
ExpiresAt = table.Column(type: "datetime2", nullable: false),
RespondedAt = table.Column(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CrewInvitation", x => x.ID);
table.ForeignKey(
name: "FK_CrewInvitation_Crew_CrewID",
column: x => x.CrewID,
principalTable: "Crew",
principalColumn: "ID",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_CrewInvitation_Member_InvitedByMemberID",
column: x => x.InvitedByMemberID,
principalTable: "Member",
principalColumn: "ID");
table.ForeignKey(
name: "FK_CrewInvitation_Member_TargetMemberID",
column: x => x.TargetMemberID,
principalTable: "Member",
principalColumn: "ID");
},
comment: "크루원 초대 이력");
migrationBuilder.CreateIndex(
name: "IX_CrewInvitation_CrewID_TargetMemberID_Status",
table: "CrewInvitation",
columns: new[] { "CrewID", "TargetMemberID", "Status" });
migrationBuilder.CreateIndex(
name: "IX_CrewInvitation_InvitedByMemberID",
table: "CrewInvitation",
column: "InvitedByMemberID");
migrationBuilder.CreateIndex(
name: "IX_CrewInvitation_Status_ExpiresAt",
table: "CrewInvitation",
columns: new[] { "Status", "ExpiresAt" });
migrationBuilder.CreateIndex(
name: "IX_CrewInvitation_TargetMemberID",
table: "CrewInvitation",
column: "TargetMemberID");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CrewInvitation");
}
}
}