20260608072958_AddOrderRefundItem.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace Infrastructure.Migrations.AppDb
  5. {
  6. /// <inheritdoc />
  7. public partial class AddOrderRefundItem : Migration
  8. {
  9. /// <inheritdoc />
  10. protected override void Up(MigrationBuilder migrationBuilder)
  11. {
  12. migrationBuilder.CreateTable(
  13. name: "OrderRefundItem",
  14. columns: table => new
  15. {
  16. ID = table.Column<int>(type: "int", nullable: false)
  17. .Annotation("SqlServer:Identity", "1, 1"),
  18. OrderRefundID = table.Column<int>(type: "int", nullable: false),
  19. OrderItemID = table.Column<int>(type: "int", nullable: false),
  20. CouponCodeID = table.Column<int>(type: "int", nullable: false),
  21. UnitAmount = table.Column<int>(type: "int", nullable: false, comment: "환불 단가 스냅샷"),
  22. PostRefundAction = table.Column<int>(type: "int", nullable: false, comment: "쿠폰 후처리 (1=Restore 회수, 2=Expire 만료)"),
  23. CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false)
  24. },
  25. constraints: table =>
  26. {
  27. table.PrimaryKey("PK_OrderRefundItem", x => x.ID);
  28. table.ForeignKey(
  29. name: "FK_OrderRefundItem_CouponCode_CouponCodeID",
  30. column: x => x.CouponCodeID,
  31. principalTable: "CouponCode",
  32. principalColumn: "ID",
  33. onDelete: ReferentialAction.Restrict);
  34. table.ForeignKey(
  35. name: "FK_OrderRefundItem_OrderItem_OrderItemID",
  36. column: x => x.OrderItemID,
  37. principalTable: "OrderItem",
  38. principalColumn: "ID",
  39. onDelete: ReferentialAction.Restrict);
  40. table.ForeignKey(
  41. name: "FK_OrderRefundItem_OrderRefund_OrderRefundID",
  42. column: x => x.OrderRefundID,
  43. principalTable: "OrderRefund",
  44. principalColumn: "ID",
  45. onDelete: ReferentialAction.Cascade);
  46. },
  47. comment: "환불 단위 — 쿠폰 별 후처리(회수/만료) 정책. OrderRefund 1:N");
  48. migrationBuilder.CreateIndex(
  49. name: "IX_OrderRefundItem_CouponCodeID",
  50. table: "OrderRefundItem",
  51. column: "CouponCodeID",
  52. unique: true);
  53. migrationBuilder.CreateIndex(
  54. name: "IX_OrderRefundItem_OrderItemID",
  55. table: "OrderRefundItem",
  56. column: "OrderItemID");
  57. migrationBuilder.CreateIndex(
  58. name: "IX_OrderRefundItem_OrderRefundID",
  59. table: "OrderRefundItem",
  60. column: "OrderRefundID");
  61. }
  62. /// <inheritdoc />
  63. protected override void Down(MigrationBuilder migrationBuilder)
  64. {
  65. migrationBuilder.DropTable(
  66. name: "OrderRefundItem");
  67. }
  68. }
  69. }