20260324080832_AddPaymentOrder.cs 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace Infrastructure.Persistence.Migrations;
  5. /// <inheritdoc />
  6. public partial class AddPaymentOrder : Migration
  7. {
  8. /// <inheritdoc />
  9. protected override void Up(MigrationBuilder migrationBuilder)
  10. {
  11. migrationBuilder.AddColumn<string>(
  12. name: "External_DanalLiveClientKeyEnc",
  13. table: "Config",
  14. type: "nvarchar(max)",
  15. nullable: true);
  16. migrationBuilder.AddColumn<string>(
  17. name: "External_DanalLiveCpid",
  18. table: "Config",
  19. type: "nvarchar(max)",
  20. nullable: true);
  21. migrationBuilder.AddColumn<string>(
  22. name: "External_DanalLiveSecretKeyEnc",
  23. table: "Config",
  24. type: "nvarchar(max)",
  25. nullable: true);
  26. migrationBuilder.AddColumn<string>(
  27. name: "External_DanalPayMode",
  28. table: "Config",
  29. type: "nvarchar(max)",
  30. nullable: true);
  31. migrationBuilder.AddColumn<string>(
  32. name: "External_DanalTestClientKeyEnc",
  33. table: "Config",
  34. type: "nvarchar(max)",
  35. nullable: true);
  36. migrationBuilder.AddColumn<string>(
  37. name: "External_DanalTestCpid",
  38. table: "Config",
  39. type: "nvarchar(max)",
  40. nullable: true);
  41. migrationBuilder.AddColumn<string>(
  42. name: "External_DanalTestSecretKeyEnc",
  43. table: "Config",
  44. type: "nvarchar(max)",
  45. nullable: true);
  46. migrationBuilder.AddColumn<decimal>(
  47. name: "Payment_DanalCardFeeAmount",
  48. table: "Config",
  49. type: "decimal(18,2)",
  50. nullable: true);
  51. migrationBuilder.AddColumn<decimal>(
  52. name: "Payment_DanalCardFeeRate",
  53. table: "Config",
  54. type: "decimal(18,2)",
  55. nullable: true);
  56. migrationBuilder.AddColumn<decimal>(
  57. name: "Payment_DanalSimpleFeeAmount",
  58. table: "Config",
  59. type: "decimal(18,2)",
  60. nullable: true);
  61. migrationBuilder.AddColumn<decimal>(
  62. name: "Payment_DanalSimpleFeeRate",
  63. table: "Config",
  64. type: "decimal(18,2)",
  65. nullable: true);
  66. migrationBuilder.AddColumn<decimal>(
  67. name: "Payment_DanalTransferFeeAmount",
  68. table: "Config",
  69. type: "decimal(18,2)",
  70. nullable: true);
  71. migrationBuilder.AddColumn<decimal>(
  72. name: "Payment_DanalTransferFeeRate",
  73. table: "Config",
  74. type: "decimal(18,2)",
  75. nullable: true);
  76. migrationBuilder.AddColumn<decimal>(
  77. name: "Payment_DanalVbankFeeAmount",
  78. table: "Config",
  79. type: "decimal(18,2)",
  80. nullable: true);
  81. migrationBuilder.AddColumn<decimal>(
  82. name: "Payment_DanalVbankFeeRate",
  83. table: "Config",
  84. type: "decimal(18,2)",
  85. nullable: true);
  86. migrationBuilder.CreateTable(
  87. name: "PaymentOrder",
  88. columns: table => new
  89. {
  90. ID = table.Column<int>(type: "int", nullable: false)
  91. .Annotation("SqlServer:Identity", "1, 1"),
  92. MemberID = table.Column<int>(type: "int", nullable: false),
  93. OrderId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
  94. TransactionId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  95. Amount = table.Column<int>(type: "int", nullable: false),
  96. PointAmount = table.Column<int>(type: "int", nullable: false),
  97. VatAmount = table.Column<int>(type: "int", nullable: false),
  98. PaymentMethod = table.Column<int>(type: "int", nullable: false),
  99. Status = table.Column<int>(type: "int", nullable: false),
  100. PaidAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  101. CancelledAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  102. FailReason = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
  103. VirtualAccountNumber = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
  104. VirtualAccountBank = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
  105. VirtualAccountHolder = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
  106. VirtualAccountExpireAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  107. CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false)
  108. },
  109. constraints: table =>
  110. {
  111. table.PrimaryKey("PK_PaymentOrder", x => x.ID);
  112. table.ForeignKey(
  113. name: "FK_PaymentOrder_Member_MemberID",
  114. column: x => x.MemberID,
  115. principalTable: "Member",
  116. principalColumn: "ID");
  117. },
  118. comment: "PG 결제 주문");
  119. migrationBuilder.CreateIndex(
  120. name: "IX_PaymentOrder_MemberID",
  121. table: "PaymentOrder",
  122. column: "MemberID");
  123. migrationBuilder.CreateIndex(
  124. name: "IX_PaymentOrder_OrderId",
  125. table: "PaymentOrder",
  126. column: "OrderId",
  127. unique: true);
  128. migrationBuilder.CreateIndex(
  129. name: "IX_PaymentOrder_Status",
  130. table: "PaymentOrder",
  131. column: "Status");
  132. migrationBuilder.CreateIndex(
  133. name: "IX_PaymentOrder_TransactionId",
  134. table: "PaymentOrder",
  135. column: "TransactionId");
  136. }
  137. /// <inheritdoc />
  138. protected override void Down(MigrationBuilder migrationBuilder)
  139. {
  140. migrationBuilder.DropTable(
  141. name: "PaymentOrder");
  142. migrationBuilder.DropColumn(
  143. name: "External_DanalLiveClientKeyEnc",
  144. table: "Config");
  145. migrationBuilder.DropColumn(
  146. name: "External_DanalLiveCpid",
  147. table: "Config");
  148. migrationBuilder.DropColumn(
  149. name: "External_DanalLiveSecretKeyEnc",
  150. table: "Config");
  151. migrationBuilder.DropColumn(
  152. name: "External_DanalPayMode",
  153. table: "Config");
  154. migrationBuilder.DropColumn(
  155. name: "External_DanalTestClientKeyEnc",
  156. table: "Config");
  157. migrationBuilder.DropColumn(
  158. name: "External_DanalTestCpid",
  159. table: "Config");
  160. migrationBuilder.DropColumn(
  161. name: "External_DanalTestSecretKeyEnc",
  162. table: "Config");
  163. migrationBuilder.DropColumn(
  164. name: "Payment_DanalCardFeeAmount",
  165. table: "Config");
  166. migrationBuilder.DropColumn(
  167. name: "Payment_DanalCardFeeRate",
  168. table: "Config");
  169. migrationBuilder.DropColumn(
  170. name: "Payment_DanalSimpleFeeAmount",
  171. table: "Config");
  172. migrationBuilder.DropColumn(
  173. name: "Payment_DanalSimpleFeeRate",
  174. table: "Config");
  175. migrationBuilder.DropColumn(
  176. name: "Payment_DanalTransferFeeAmount",
  177. table: "Config");
  178. migrationBuilder.DropColumn(
  179. name: "Payment_DanalTransferFeeRate",
  180. table: "Config");
  181. migrationBuilder.DropColumn(
  182. name: "Payment_DanalVbankFeeAmount",
  183. table: "Config");
  184. migrationBuilder.DropColumn(
  185. name: "Payment_DanalVbankFeeRate",
  186. table: "Config");
  187. }
  188. }