20260324080832_AddPaymentOrder.cs 8.4 KB

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