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