using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Infrastructure.Migrations.AppDb { /// public partial class AddOrderRefundItem : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "OrderRefundItem", columns: table => new { ID = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrderRefundID = table.Column(type: "int", nullable: false), OrderItemID = table.Column(type: "int", nullable: false), CouponCodeID = table.Column(type: "int", nullable: false), UnitAmount = table.Column(type: "int", nullable: false, comment: "환불 단가 스냅샷"), PostRefundAction = table.Column(type: "int", nullable: false, comment: "쿠폰 후처리 (1=Restore 회수, 2=Expire 만료)"), CreatedAt = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrderRefundItem", x => x.ID); table.ForeignKey( name: "FK_OrderRefundItem_CouponCode_CouponCodeID", column: x => x.CouponCodeID, principalTable: "CouponCode", principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_OrderRefundItem_OrderItem_OrderItemID", column: x => x.OrderItemID, principalTable: "OrderItem", principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_OrderRefundItem_OrderRefund_OrderRefundID", column: x => x.OrderRefundID, principalTable: "OrderRefund", principalColumn: "ID", onDelete: ReferentialAction.Cascade); }, comment: "환불 단위 — 쿠폰 별 후처리(회수/만료) 정책. OrderRefund 1:N"); migrationBuilder.CreateIndex( name: "IX_OrderRefundItem_CouponCodeID", table: "OrderRefundItem", column: "CouponCodeID", unique: true); migrationBuilder.CreateIndex( name: "IX_OrderRefundItem_OrderItemID", table: "OrderRefundItem", column: "OrderItemID"); migrationBuilder.CreateIndex( name: "IX_OrderRefundItem_OrderRefundID", table: "OrderRefundItem", column: "OrderRefundID"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "OrderRefundItem"); } } }