using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Infrastructure.Migrations.AppDb; /// public partial class AddMemberFollow : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "MemberFollow", columns: table => new { ID = table.Column(type: "int", nullable: false, comment: "PK") .Annotation("SqlServer:Identity", "1, 1"), FollowerMemberID = table.Column(type: "int", nullable: false, comment: "팔로우 주체 회원 ID"), FolloweeMemberID = table.Column(type: "int", nullable: false, comment: "팔로우 대상 회원 ID"), NotifyOnPost = table.Column(type: "bit", nullable: false, comment: "새 글 알림 수신 여부"), IsMuted = table.Column(type: "bit", nullable: false, comment: "피드 숨김 여부"), CreatedAt = table.Column(type: "datetime2", nullable: false, comment: "팔로우 일시") }, constraints: table => { table.PrimaryKey("PK_MemberFollow", x => x.ID); table.ForeignKey( name: "FK_MemberFollow_Member_FolloweeMemberID", column: x => x.FolloweeMemberID, principalTable: "Member", principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_MemberFollow_Member_FollowerMemberID", column: x => x.FollowerMemberID, principalTable: "Member", principalColumn: "ID", onDelete: ReferentialAction.Restrict); }, comment: "회원 팔로우 관계"); migrationBuilder.CreateIndex( name: "IX_Post_MemberID_IsDeleted_CreatedAt", table: "Post", columns: new[] { "MemberID", "IsDeleted", "CreatedAt" }, descending: new[] { false, false, true }); migrationBuilder.CreateIndex( name: "IX_MemberFollow_FolloweeMemberID", table: "MemberFollow", column: "FolloweeMemberID"); migrationBuilder.CreateIndex( name: "IX_MemberFollow_FollowerMemberID_CreatedAt", table: "MemberFollow", columns: new[] { "FollowerMemberID", "CreatedAt" }, descending: new[] { false, true }); migrationBuilder.CreateIndex( name: "IX_MemberFollow_FollowerMemberID_FolloweeMemberID", table: "MemberFollow", columns: new[] { "FollowerMemberID", "FolloweeMemberID" }, unique: true); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "MemberFollow"); migrationBuilder.DropIndex( name: "IX_Post_MemberID_IsDeleted_CreatedAt", table: "Post"); } }