2.6 KiB
2.6 KiB
🔌 Phase 2.5: ExternalDbConnectionService Raw Query 전환 계획
📋 개요
ExternalDbConnectionService는 15개의 Prisma 호출이 있으며, 외부 데이터베이스 연결 정보를 관리하는 서비스입니다.
📊 기본 정보
| 항목 | 내용 |
|---|---|
| 파일 위치 | backend-node/src/services/externalDbConnectionService.ts |
| 파일 크기 | 800+ 라인 |
| Prisma 호출 | 15개 |
| 현재 진행률 | 0/15 (0%) ⏳ 진행 예정 |
| 복잡도 | 중간 (CRUD + 연결 테스트) |
| 우선순위 | 🟡 중간 (Phase 2.5) |
🎯 전환 목표
- ✅ 15개 Prisma 호출을 모두 Raw Query로 전환
- ✅ 민감 정보 암호화 처리 유지
- ✅ 연결 테스트 로직 정상 동작
- ✅ 모든 단위 테스트 통과
🔍 주요 기능
1. 외부 DB 연결 정보 CRUD
- 생성, 조회, 수정, 삭제
- 연결 정보 암호화/복호화
2. 연결 테스트
- MySQL, PostgreSQL, MSSQL, Oracle 연결 테스트
3. 연결 정보 관리
- 회사별 연결 정보 조회
- 활성/비활성 상태 관리
📝 예상 전환 패턴
CRUD 작업
// 생성
await query(
`INSERT INTO external_db_connections
(connection_name, db_type, host, port, database_name, username, password, company_code)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING *`,
[...]
);
// 조회
await query(
`SELECT * FROM external_db_connections
WHERE company_code = $1 AND is_active = 'Y'`,
[companyCode]
);
// 수정
await query(
`UPDATE external_db_connections
SET connection_name = $1, host = $2, ...
WHERE connection_id = $2`,
[...]
);
// 삭제 (소프트)
await query(
`UPDATE external_db_connections
SET is_active = 'N'
WHERE connection_id = $1`,
[connectionId]
);
🎯 완료 기준
- 15개 Prisma 호출 모두 Raw Query로 전환
- 암호화/복호화 로직 정상 동작
- 연결 테스트 정상 동작
- 모든 단위 테스트 통과 (10개 이상)
- Prisma import 완전 제거
작성일: 2025-09-30 예상 소요 시간: 1일 담당자: 백엔드 개발팀 우선순위: 🟡 중간 (Phase 2.5) 상태: ⏳ 진행 예정