From 6ac3f0c860d538eded9b51c32fe74ad0e0280ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Thu, 19 Feb 2026 11:17:41 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=8A=B8=EB=A6=AC=EA=B1=B0=20=EA=B0=90?= =?UTF-8?q?=EC=82=AC=EB=A1=9C=EA=B7=B8=20operation=5Fid=20=EC=BB=AC?= =?UTF-8?q?=EB=9F=BC=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EB=B3=84=20UUID=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - trigger_audit_logs 테이블에 operation_id(VARCHAR 36) 컬럼 추가 - ix_trig_operation 인덱스 생성 (일괄 롤백 조회용) - SetAuditSessionVariables 미들웨어에서 요청마다 @sam_operation_id UUID 설정 Co-Authored-By: Claude Opus 4.6 --- LOGICAL_RELATIONSHIPS.md | 2 +- .../Middleware/SetAuditSessionVariables.php | 4 +++ ...add_operation_id_to_trigger_audit_logs.php | 28 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2026_02_13_100000_add_operation_id_to_trigger_audit_logs.php diff --git a/LOGICAL_RELATIONSHIPS.md b/LOGICAL_RELATIONSHIPS.md index 57a524c..27e2908 100644 --- a/LOGICAL_RELATIONSHIPS.md +++ b/LOGICAL_RELATIONSHIPS.md @@ -1,6 +1,6 @@ # 논리적 데이터베이스 관계 문서 -> **자동 생성**: 2026-02-13 11:19:58 +> **자동 생성**: 2026-02-12 20:26:02 > **소스**: Eloquent 모델 관계 분석 ## 📊 모델별 관계 현황 diff --git a/app/Http/Middleware/SetAuditSessionVariables.php b/app/Http/Middleware/SetAuditSessionVariables.php index bdf3f4b..188d37b 100644 --- a/app/Http/Middleware/SetAuditSessionVariables.php +++ b/app/Http/Middleware/SetAuditSessionVariables.php @@ -5,12 +5,16 @@ use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Str; use Symfony\Component\HttpFoundation\Response; class SetAuditSessionVariables { public function handle(Request $request, Closure $next): Response { + // 요청 단위 operation_id (인증 여부와 무관하게 항상 설정) + DB::statement('SET @sam_operation_id = ?', [Str::uuid()->toString()]); + if (auth()->check()) { DB::statement('SET @sam_actor_id = ?', [auth()->id()]); DB::statement('SET @sam_session_info = ?', [ diff --git a/database/migrations/2026_02_13_100000_add_operation_id_to_trigger_audit_logs.php b/database/migrations/2026_02_13_100000_add_operation_id_to_trigger_audit_logs.php new file mode 100644 index 0000000..cf8b2ea --- /dev/null +++ b/database/migrations/2026_02_13_100000_add_operation_id_to_trigger_audit_logs.php @@ -0,0 +1,28 @@ +