phase 2 변환계획 작성
This commit is contained in:
99
PHASE2.5_EXTERNAL_DB_CONNECTION_MIGRATION.md
Normal file
99
PHASE2.5_EXTERNAL_DB_CONNECTION_MIGRATION.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 🔌 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 작업
|
||||
|
||||
```typescript
|
||||
// 생성
|
||||
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)
|
||||
**상태**: ⏳ **진행 예정**
|
||||
Reference in New Issue
Block a user