권혁성
d07bad16df
feat:DB 트리거 기반 데이터 변경 추적 시스템 구현
Phase 1: DB 기반 구축
- trigger_audit_logs 테이블 (RANGE 파티셔닝 15개, 3개 인덱스)
- 789개 MySQL AFTER 트리거 (263 테이블 × INSERT/UPDATE/DELETE)
- SetAuditSessionVariables 미들웨어 (@sam_actor_id, @sam_session_info)
Phase 2: 복구 메커니즘
- TriggerAuditLog 모델, TriggerAuditLogService, AuditRollbackService
- 6개 API 엔드포인트 (index, show, stats, history, rollback-preview, rollback)
- FormRequest 검증 (TriggerAuditLogIndexRequest, TriggerAuditRollbackRequest)
Phase 3: 관리 도구
- v_unified_audit VIEW (APP + TRIGGER 통합, COLLATE 처리)
- audit:partitions 커맨드 (파티션 추가/삭제, dry-run)
- audit:triggers 커맨드 (트리거 재생성, 테이블별/전체)
- 월 1회 파티션 자동 관리 스케줄러 등록
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:17:15 +09:00
..
2026-01-20 20:51:42 +09:00
2026-02-09 09:17:15 +09:00
2026-01-20 20:51:42 +09:00
2026-01-20 20:51:42 +09:00
2026-02-05 14:45:53 +09:00
2026-01-20 20:51:42 +09:00
2025-12-19 14:52:53 +09:00
2025-11-06 17:45:49 +09:00
2026-01-26 20:29:22 +09:00
2025-12-20 13:43:04 +09:00
2025-12-17 23:23:20 +09:00
2025-12-17 23:23:20 +09:00
2025-12-17 23:23:20 +09:00
2026-01-30 19:53:09 +09:00
2026-01-15 17:14:04 +09:00
2026-01-23 21:32:23 +09:00
2025-12-18 16:20:29 +09:00
2025-12-26 15:47:03 +09:00
2025-12-18 15:31:59 +09:00
2026-01-29 15:36:11 +09:00
2026-01-22 23:18:33 +09:00
2026-01-27 15:24:35 +09:00
2026-01-26 20:29:22 +09:00
2025-12-18 16:20:29 +09:00
2026-01-22 22:28:41 +09:00
2025-11-10 22:09:28 +09:00
2025-11-14 13:45:54 +09:00
2025-11-06 17:45:49 +09:00
2025-11-06 17:45:49 +09:00
2025-11-06 17:45:49 +09:00
2026-01-09 16:46:25 +09:00
2025-11-06 17:45:49 +09:00
2026-01-31 00:10:36 +09:00
2025-12-22 17:42:59 +09:00
2025-12-26 15:47:53 +09:00
2025-12-26 15:47:24 +09:00
2026-01-26 20:29:22 +09:00
2025-12-09 20:27:44 +09:00
2026-01-15 17:14:04 +09:00
2025-12-26 00:34:21 +09:00
2026-01-26 20:29:22 +09:00
2026-01-13 19:49:00 +09:00
2026-01-22 23:16:49 +09:00
2025-11-10 22:09:28 +09:00
2025-11-10 22:09:28 +09:00
2026-01-14 17:08:59 +09:00
2025-12-18 14:21:37 +09:00
2025-12-22 17:42:59 +09:00
2026-02-05 21:58:49 +09:00
2025-12-15 20:37:24 +09:00
2026-01-11 23:29:32 +09:00
2025-12-24 19:39:33 +09:00
2025-12-26 15:48:06 +09:00
2026-01-23 10:05:50 +09:00
2026-01-20 20:43:38 +09:00
2025-12-02 22:11:08 +09:00
2025-11-06 17:45:49 +09:00
2025-12-22 17:42:59 +09:00
2026-01-16 21:58:57 +09:00
2025-12-22 17:42:59 +09:00
2025-12-18 16:20:29 +09:00
2025-08-21 20:48:39 +09:00
2025-12-24 08:54:52 +09:00
2025-12-19 16:14:04 +09:00
2026-01-13 19:49:00 +09:00
2025-12-19 16:27:36 +09:00
2026-01-09 22:19:11 +09:00
2026-01-20 20:43:38 +09:00
2026-01-20 20:43:38 +09:00
2026-01-22 23:19:05 +09:00
2026-01-09 10:39:06 +09:00
2026-02-04 23:07:08 +09:00
2026-01-13 19:49:00 +09:00
2025-12-26 15:45:33 +09:00
2025-11-10 22:09:28 +09:00
2025-11-07 17:53:42 +09:00
2025-12-18 16:20:29 +09:00
2025-12-30 17:24:19 +09:00
2025-12-30 17:24:19 +09:00
2026-01-15 17:14:04 +09:00
2026-01-19 20:53:36 +09:00
2025-12-26 15:46:07 +09:00
2026-01-13 19:49:00 +09:00
2026-01-09 16:34:59 +09:00
2026-01-29 21:56:53 +09:00
2026-01-26 20:29:22 +09:00
2025-12-26 15:45:48 +09:00
2025-12-22 17:42:59 +09:00
2025-12-28 00:53:26 +09:00
2025-12-28 00:53:26 +09:00
2026-01-19 20:53:36 +09:00
2025-12-30 22:58:50 +09:00
2025-12-22 17:42:59 +09:00
2025-11-06 17:45:49 +09:00
2025-11-06 17:45:49 +09:00
2026-01-29 15:38:09 +09:00
2025-11-14 14:09:53 +09:00
2025-11-06 17:45:49 +09:00
2026-01-22 09:47:29 +09:00
2025-12-09 20:27:44 +09:00
2025-12-19 14:52:53 +09:00
2025-11-06 17:45:49 +09:00
2026-01-26 20:29:22 +09:00
2025-12-26 15:46:31 +09:00
2026-01-22 22:35:20 +09:00
2026-01-15 17:14:04 +09:00
2026-02-09 09:00:57 +09:00
2025-12-26 15:18:08 +09:00
2025-12-18 16:20:29 +09:00