문제:
- buttonActionStandardController에서 pool을 import하려 했으나
- db.ts에서 pool이 export되지 않아 컴파일 에러 발생
해결:
- db.ts에 'export { pool }' 추가
- pool 직접 접근이 필요한 경우를 위해 명시적 export
영향받는 파일:
- backend-node/src/database/db.ts
- backend-node/src/controllers/buttonActionStandardController.ts (사용)
Phase 1 완료: Raw Query 기반 데이터베이스 아키텍처 구축
✅ 구현 완료 내용:
- DatabaseManager 클래스 구현 (연결 풀, 트랜잭션 관리)
- QueryBuilder 유틸리티 (동적 쿼리 생성)
- 타입 정의 및 검증 로직 (database.ts, databaseValidator.ts)
- 단위 테스트 작성 및 통과
🔧 전환 완료 서비스:
- externalCallConfigService.ts (Raw Query 전환)
- multiConnectionQueryService.ts (Raw Query 전환)
📚 문서:
- PHASE1_USAGE_GUIDE.md (사용 가이드)
- DETAILED_FILE_MIGRATION_PLAN.md (상세 계획)
- PRISMA_TO_RAW_QUERY_MIGRATION_PLAN.md (Phase 1 완료 표시)
🧪 테스트:
- database.test.ts (핵심 기능 테스트)
- 모든 테스트 통과 확인
이제 Phase 2 (핵심 서비스 전환)로 진행 가능
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- DatabaseConnectorFactory에 Oracle, MariaDB 커넥터 추가
- BatchService에서 PostgreSQL timestamp 타입 캐스팅 추가
- BatchExternalDbService에 쿼리 로깅 추가
- 배치 실행 로그 관련 타입 및 컨트롤러 개선
- 프론트엔드 배치 관리 UI 개선
✨ 주요 기능:
- 배치 설정 관리 (생성/수정/삭제/실행)
- 배치 실행 로그 관리 및 모니터링
- 배치 스케줄러 자동 실행 (cron 기반)
- 외부 DB 연결을 통한 데이터 동기화
- Oracle, MSSQL, MariaDB 커넥터 지원
🔧 백엔드 구현:
- BatchManagementController: 배치 설정 CRUD
- BatchExecutionLogController: 실행 로그 관리
- BatchSchedulerService: 자동 스케줄링
- BatchExternalDbService: 외부 DB 연동
- 배치 관련 테이블 스키마 추가
🎨 프론트엔드 구현:
- 배치 관리 대시보드 UI
- 배치 생성/수정 폼
- 실행 로그 모니터링 화면
- 수동 실행 및 상태 관리
🛡️ 안전성:
- 기존 시스템과 독립적 구현
- 트랜잭션 기반 안전한 데이터 처리
- 에러 핸들링 및 로깅 강화