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:
@@ -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}`);
|
||||
|
||||
Reference in New Issue
Block a user