From 0d23d401223faf26dc2ed3952b5216965fed48d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Thu, 19 Mar 2026 20:53:25 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[changes]=20DB=20codebridge=20=EC=9D=B4?= =?UTF-8?q?=EA=B4=80=20+=20=EC=86=90=EC=9D=B5=EA=B3=84=EC=82=B0=EC=84=9C?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EB=B3=80=EA=B2=BD=EC=9D=B4=EB=A0=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INDEX.md | 1 + ...60319_db_codebridge_migration_and_fixes.md | 85 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 changes/20260319_db_codebridge_migration_and_fixes.md diff --git a/INDEX.md b/INDEX.md index 7487234..6cf9113 100644 --- a/INDEX.md +++ b/INDEX.md @@ -285,6 +285,7 @@ DB 도메인별: | [20260319_condolence_dashboard_integration.md](changes/20260319_condolence_dashboard_integration.md) | 경조사비 대시보드 연동 (condolence_summary 필드 추가) | | [20260319_esign_salary_year_regex_fix.md](changes/20260319_esign_salary_year_regex_fix.md) | 전자계약 근로계약서 연봉계약종료연도 정규식 버그 수정 (두음법칙 불일치) | | [20260319_barobill_card_auto_sync.md](changes/20260319_barobill_card_auto_sync.md) | 바로빌 카드 사용내역 자동 동기화 스케줄러 추가 (2시간마다, 서버 crontab 필요) | +| [20260319_db_codebridge_migration_and_fixes.md](changes/20260319_db_codebridge_migration_and_fixes.md) | MNG 전용 테이블 codebridge DB 이관 + 손익계산서 매출액/월별 세부내역 수정 | --- diff --git a/changes/20260319_db_codebridge_migration_and_fixes.md b/changes/20260319_db_codebridge_migration_and_fixes.md new file mode 100644 index 0000000..f7d55b6 --- /dev/null +++ b/changes/20260319_db_codebridge_migration_and_fixes.md @@ -0,0 +1,85 @@ +# DB 아키텍처 정리 + 손익계산서 수정 + +**날짜:** 2026-03-19 +**작업자:** Claude Code + +## 변경 개요 + +MNG 전용 테이블을 sam DB에서 codebridge DB로 이관하고, DB 관리 정책을 정립. 손익계산서 운영서버 매출액 미표시 버그 수정 및 월별 보기 세부내역 추가. + +## 1. DB 아키텍처 정리 + +### 원칙 확립 + +- `sam` DB = API가 관리하는 공용 비즈니스 데이터 +- `codebridge` DB = MNG(백오피스) 전용 테이블 +- MNG는 마이그레이션 파일을 생성하지 않고 API에서만 관리 + +### pmis_* + daily_work_logs 테이블 이관 + +| 작업 | 내용 | +|------|------| +| API 마이그레이션 생성 | `2026_03_19_200000_migrate_mng_tables_to_codebridge.php` | +| codebridge DB에 생성 | pmis_* 21개 + daily_work_logs 2개 = 23개 테이블 | +| sam DB 기존 5개 테이블 | 데이터 복사 → 건수 검증 → 삭제 (안전 장치 포함) | +| MNG 모델 수정 | 23개 모델에 `$connection = 'codebridge'` 추가 | +| MNG 마이그레이션 삭제 | 18개 파일 전체 삭제 | +| validation 규칙 수정 | `exists:pmis_*` → `exists:codebridge.pmis_*` (4개 컨트롤러, 10곳) | + +### CLAUDE.md 업데이트 + +- MNG CLAUDE.md: DB 환경 분리 테이블 추가, MySQL 컨테이너 참조 제거 +- 전역 CLAUDE.md: DB 환경 6열 테이블, Docker 직접 연결 설명 추가, `samdb` → `sam` 수정 + +## 2. 손익계산서 매출액 미표시 수정 + +### 원인 + +운영서버 홈택스 매출 전표가 `41100 용역매출`로 분개되어 있었으나, 이 계정코드의 `sub_category`가 NULL이라 손익계산서의 매출액 집계(`sub_category = 'sales_revenue'`)에서 누락. + +### 수정 + +운영서버 `account_codes` 테이블에서 `41100 용역매출`의 `sub_category`를 `sales_revenue`로 업데이트. + +```sql +UPDATE account_codes SET sub_category = 'sales_revenue' +WHERE tenant_id = 1 AND code = '41100'; +``` + +## 3. 손익계산서 월별 보기 세부내역 추가 + +### 수정 전 + +월별 전체 보기 시 I.매출액, IV.판매비와관리비 등 합계만 표시. + +### 수정 후 + +기간 보기와 동일하게 하위 계정과목(용역매출, 직원급여, 복리후생비 등) 세부내역 표시. + +## 수정된 파일 + +| 프로젝트 | 파일 | 변경 내용 | +|---------|------|----------| +| API | `database/migrations/2026_03_19_200000_migrate_mng_tables_to_codebridge.php` | codebridge 이관 마이그레이션 | +| MNG | `app/Models/Juil/Pmis*.php` (21개) | `$connection = 'codebridge'` 추가 | +| MNG | `app/Models/Finance/DailyWorkLog*.php` (2개) | `$connection = 'codebridge'` 추가 | +| MNG | `database/migrations/*.php` (18개) | 전체 삭제 | +| MNG | `app/Http/Controllers/Juil/Pmis*Controller.php` (4개) | validation exists 규칙 수정 | +| MNG | `resources/views/finance/income-statement.blade.php` | 월별 전체보기 세부내역 추가 | +| MNG | `CLAUDE.md` | DB 환경 분리 정보 업데이트 | + +## 테스트 체크리스트 + +- [x] codebridge DB에 23개 테이블 생성 확인 +- [x] sam DB에서 pmis_* 테이블 삭제 확인 +- [x] PMIS 작업자 등록 500 에러 해결 (validation exists 수정) +- [x] 손익계산서 매출액 표시 확인 (운영서버) +- [x] 손익계산서 월별 보기 세부내역 표시 확인 + +## 관련 문서 + +- `docs/changes/20260319_esign_salary_year_regex_fix.md` — 같은 날 전자계약 수정 + +--- + +**최종 업데이트**: 2026-03-19