feat: Routes & Service Prisma 전환 완료

완료된 파일:

1. ddlRoutes.ts (2개):
   -  health check: PrismaClient 동적 import 제거
   -  SELECT 1 쿼리를 query() 함수로 변경

2. companyManagementRoutes.ts (2개):
   -  findUnique → queryOne (회사 존재 확인)
   -  update → query (soft delete)

3. multiConnectionQueryService.ts (4개):
   -  executeSelect: $queryRawUnsafe → query
   -  executeInsert: $queryRawUnsafe → query
   -  executeUpdate: $queryRawUnsafe → query
   -  executeDelete: $queryRawUnsafe → query

기술적 개선:
- 동적 import 제거로 성능 향상
- 일관된 쿼리 인터페이스 사용
- 파라미터 전달 방식 통일 (...params → params)

전체 진행률: 50/54 (92.6%)
남은 작업: database.ts (4개 - 제거 예정)
This commit is contained in:
kjs
2025-10-01 14:41:04 +09:00
parent 97f4d11870
commit bc54d37ff2
3 changed files with 19 additions and 28 deletions

View File

@@ -8,7 +8,7 @@ import { ExternalDbConnectionService } from "./externalDbConnectionService";
import { TableManagementService } from "./tableManagementService";
import { ExternalDbConnection, ApiResponse } from "../types/externalDbTypes";
import { ColumnTypeInfo, TableInfo } from "../types/tableManagement";
import prisma from "../config/database";
import { query } from "../database/db";
import { logger } from "../utils/logger";
// 🔧 Prisma 클라이언트 중복 생성 방지 - 기존 인스턴스 재사용
@@ -1002,7 +1002,7 @@ export class MultiConnectionQueryService {
queryParams.push(...Object.values(conditions));
}
return await prisma.$queryRawUnsafe(query, ...queryParams);
return await query(query, queryParams);
case "insert":
if (!data) throw new Error("INSERT 작업에는 데이터가 필요합니다.");
@@ -1019,11 +1019,10 @@ export class MultiConnectionQueryService {
RETURNING *
`;
const insertResult = await prisma.$queryRawUnsafe(
insertQuery,
...insertValues
);
return Array.isArray(insertResult) ? insertResult[0] : insertResult;
const insertResult = await query(insertQuery, insertValues);
return Array.isArray(insertResult) && insertResult.length > 0
? insertResult[0]
: insertResult;
case "update":
if (!data) throw new Error("UPDATE 작업에는 데이터가 필요합니다.");
@@ -1052,7 +1051,7 @@ export class MultiConnectionQueryService {
...Object.values(data),
...Object.values(conditions),
];
return await prisma.$queryRawUnsafe(updateQuery, ...updateParams);
return await query(updateQuery, updateParams);
case "delete":
if (!conditions)
@@ -1068,10 +1067,7 @@ export class MultiConnectionQueryService {
RETURNING *
`;
return await prisma.$queryRawUnsafe(
deleteQuery,
...Object.values(conditions)
);
return await query(deleteQuery, Object.values(conditions));
default:
throw new Error(`지원하지 않는 작업입니다: ${operation}`);