diff --git a/database/migrations/2026_02_05_200000_add_modified_amount_fields_to_barobill_card_transactions_table.php b/database/migrations/2026_02_05_200000_add_modified_amount_fields_to_barobill_card_transactions_table.php new file mode 100644 index 0000000..5fc0793 --- /dev/null +++ b/database/migrations/2026_02_05_200000_add_modified_amount_fields_to_barobill_card_transactions_table.php @@ -0,0 +1,31 @@ +decimal('modified_supply_amount', 18, 2)->nullable()->after('tax') + ->comment('사용자 수정 공급가액 (null이면 원본값 사용)'); + $table->decimal('modified_tax', 18, 2)->nullable()->after('modified_supply_amount') + ->comment('사용자 수정 부가세 (null이면 원본값 사용)'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('barobill_card_transactions', function (Blueprint $table) { + $table->dropColumn(['modified_supply_amount', 'modified_tax']); + }); + } +}; diff --git a/database/migrations/2026_02_05_200100_create_barobill_card_transaction_amount_logs_table.php b/database/migrations/2026_02_05_200100_create_barobill_card_transaction_amount_logs_table.php new file mode 100644 index 0000000..3ba303b --- /dev/null +++ b/database/migrations/2026_02_05_200100_create_barobill_card_transaction_amount_logs_table.php @@ -0,0 +1,42 @@ +id(); + $table->unsignedBigInteger('card_transaction_id')->comment('카드 거래 ID'); + $table->foreign('card_transaction_id', 'bb_amount_log_trans_fk') + ->references('id')->on('barobill_card_transactions')->onDelete('cascade'); + $table->string('original_unique_key', 255)->comment('거래 고유키 (cardNum|useDt|approvalNum|amount)'); + $table->decimal('before_supply_amount', 18, 2)->comment('변경 전 공급가액'); + $table->decimal('before_tax', 18, 2)->comment('변경 전 부가세'); + $table->decimal('after_supply_amount', 18, 2)->comment('변경 후 공급가액'); + $table->decimal('after_tax', 18, 2)->comment('변경 후 부가세'); + $table->unsignedBigInteger('modified_by')->nullable()->comment('수정자 ID'); + $table->string('modified_by_name', 100)->nullable()->comment('수정자 이름'); + $table->string('ip_address', 45)->nullable()->comment('수정자 IP'); + $table->timestamp('created_at')->useCurrent()->comment('수정 시각'); + + $table->index('card_transaction_id', 'bb_amount_log_trans_idx'); + $table->index('original_unique_key', 'bb_amount_log_key_idx'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('barobill_card_transaction_amount_logs'); + } +}; diff --git a/database/migrations/2026_02_05_300000_add_is_manual_to_barobill_card_transactions_table.php b/database/migrations/2026_02_05_300000_add_is_manual_to_barobill_card_transactions_table.php new file mode 100644 index 0000000..0bd6a8a --- /dev/null +++ b/database/migrations/2026_02_05_300000_add_is_manual_to_barobill_card_transactions_table.php @@ -0,0 +1,23 @@ +boolean('is_manual')->default(false)->after('modified_tax') + ->comment('수동 입력 여부 (true: 수동입력, false: 바로빌 API)'); + }); + } + + public function down(): void + { + Schema::table('barobill_card_transactions', function (Blueprint $table) { + $table->dropColumn('is_manual'); + }); + } +};