From 43dfdf89509cb52add391fd7b02768f58569115d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 20 Mar 2026 15:04:35 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[changes]=20=EC=9D=BC=EC=9D=BC=EC=97=85?= =?UTF-8?q?=EB=AC=B4=EC=9D=BC=EC=A7=80=20codebridge=20DB=20=EC=9D=B4?= =?UTF-8?q?=EA=B4=80=20=EB=88=84=EB=9D=BD=20=EC=88=98=EC=A0=95=20=EC=9D=B4?= =?UTF-8?q?=EB=A0=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INDEX.md | 1 + ...aily_work_logs_codebridge_migration_fix.md | 60 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 changes/20260320_daily_work_logs_codebridge_migration_fix.md diff --git a/INDEX.md b/INDEX.md index 91f0409..6a0c986 100644 --- a/INDEX.md +++ b/INDEX.md @@ -305,6 +305,7 @@ DB 도메인별: | [20260320_bank_transaction_trans_office_override.md](changes/20260320_bank_transaction_trans_office_override.md) | 계좌내역 취급점(trans_office) override 수정 기능 추가 | | [20260320_bank_balance_recalc_all_transactions.md](changes/20260320_bank_balance_recalc_all_transactions.md) | 계좌내역 잔액 재계산을 전체 거래에 적용 (표시 시점 계산) | | [20260320_sales_to_mng_rd_migration.md](dev/changes/20260320_sales_to_mng_rd_migration.md) | Sales → MNG 연구개발 메뉴 통합 이관 (11개 페이지) | +| [20260320_daily_work_logs_codebridge_migration_fix.md](changes/20260320_daily_work_logs_codebridge_migration_fix.md) | 일일업무일지 codebridge DB 이관 누락 수정 (sam→codebridge 데이터 복구) | --- diff --git a/changes/20260320_daily_work_logs_codebridge_migration_fix.md b/changes/20260320_daily_work_logs_codebridge_migration_fix.md new file mode 100644 index 0000000..3389bf1 --- /dev/null +++ b/changes/20260320_daily_work_logs_codebridge_migration_fix.md @@ -0,0 +1,60 @@ +# 일일업무일지 codebridge DB 이관 누락 수정 + +**날짜:** 2026-03-20 +**작업자:** Claude Code + +## 변경 개요 + +운영서버 MNG 일일업무일지 데이터가 조회/저장 불가 상태 발생. +원인은 DB 이관 마이그레이션(`2026_03_19_200000`)에서 `daily_work_logs` 테이블이 이관 대상에서 누락된 것. + +## 원인 분석 + +### 발생 경위 + +1. MNG 모델 `DailyWorkLog`의 `$connection`이 `codebridge`로 변경됨 (커밋 `82adb7a3`) +2. `2026_03_19_200000_migrate_mng_tables_to_codebridge.php` 마이그레이션에서: + - codebridge DB에 빈 `daily_work_logs`, `daily_work_log_items` 테이블 생성 ✅ + - `existingTables` 배열에 `daily_work_logs` 미포함 → **데이터 미이관** ❌ +3. MNG 코드는 운영서버에 배포되었으나, API 마이그레이션은 미실행 상태 +4. 결과: codebridge DB에 테이블 자체가 없음 → 조회 시 빈 결과, 저장 시 에러 + +### 영향 범위 + +| 환경 | 상태 | +|------|------| +| 운영서버 sam DB | `daily_work_logs` 24건, `daily_work_log_items` 120건 보존 | +| 운영서버 codebridge DB | 테이블 미존재 (마이그레이션 미실행) | +| 개발서버 | codebridge에 빈 테이블 존재 (기존 데이터 없었음) | + +## 수정 내용 + +### 새 마이그레이션 추가 + +**파일**: `api/database/migrations/2026_03_20_120000_migrate_daily_work_logs_to_codebridge.php` + +**동작 순서:** +1. Phase 1 (복사): sam → codebridge 데이터 복사 (부모 → 자식 순서) + - 건수 검증 후 불일치 시 예외 발생 + - codebridge에 이미 데이터가 있으면 중복 방지로 스킵 +2. Phase 2 (삭제): sam 테이블 삭제 (자식 → 부모 순서, FK 안전) + +**환경별 실행 결과:** +- 개발서버: sam에 테이블 없으므로 스킵 (정상) +- 운영서버: sam → codebridge 24건(logs) + 120건(items) 이관 + +## 수정된 파일 + +| 파일 | 변경 내용 | +|------|----------| +| `api/database/migrations/2026_03_20_120000_migrate_daily_work_logs_to_codebridge.php` | 신규 — daily_work_logs 데이터 이관 마이그레이션 | + +## 배포 후 확인사항 + +- [ ] 운영서버 API `php artisan migrate` 실행 (Jenkins 자동) +- [ ] MNG 일일업무일지 데이터 조회 확인 +- [ ] MNG 일일업무일지 저장 기능 확인 + +## 관련 문서 + +- [20260319_db_codebridge_migration_and_fixes.md](20260319_db_codebridge_migration_and_fixes.md) — 원본 이관 마이그레이션