docs: Phase 4 남은 Prisma 호출 전환 계획서 작성
현재 상황 분석 및 문서화: 컨트롤러 레이어: - ✅ adminController.ts (28개) 완료 - ✅ screenFileController.ts (2개) 완료 - 🔄 남은 파일 (12개 호출): * webTypeStandardController.ts (11개) * fileController.ts (1개) Routes & Services: - ddlRoutes.ts (2개) - companyManagementRoutes.ts (2개) - multiConnectionQueryService.ts (4개) Config: - database.ts (4개 - 제거 예정) 새로운 계획서: - PHASE4_REMAINING_PRISMA_CALLS.md (상세 전환 계획) - 파일별 Prisma 호출 상세 분석 - 전환 패턴 및 우선순위 정리 전체 진행률: 445/444 (100.2%) 남은 작업: 12개 (추가 조사 필요한 파일 제외)
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
/**
|
||||
* 🔥 데이터플로우 실행 컨트롤러
|
||||
*
|
||||
*
|
||||
* 버튼 제어에서 관계 실행 시 사용되는 컨트롤러
|
||||
*/
|
||||
|
||||
import { Request, Response } from "express";
|
||||
import { AuthenticatedRequest } from "../types/auth";
|
||||
import prisma from "../config/database";
|
||||
import { query } from "../database/db";
|
||||
import logger from "../utils/logger";
|
||||
|
||||
/**
|
||||
@@ -146,18 +146,18 @@ async function executeInsert(tableName: string, data: Record<string, any>): Prom
|
||||
const values = Object.values(data);
|
||||
const placeholders = values.map((_, index) => `$${index + 1}`).join(', ');
|
||||
|
||||
const query = `INSERT INTO ${tableName} (${columns}) VALUES (${placeholders}) RETURNING *`;
|
||||
|
||||
logger.info(`INSERT 쿼리 실행:`, { query, values });
|
||||
const insertQuery = `INSERT INTO ${tableName} (${columns}) VALUES (${placeholders}) RETURNING *`;
|
||||
|
||||
logger.info(`INSERT 쿼리 실행:`, { query: insertQuery, values });
|
||||
|
||||
const result = await query<any>(insertQuery, values);
|
||||
|
||||
const result = await prisma.$queryRawUnsafe(query, ...values);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
action: 'insert',
|
||||
tableName,
|
||||
data: result,
|
||||
affectedRows: Array.isArray(result) ? result.length : 1,
|
||||
affectedRows: result.length,
|
||||
};
|
||||
} catch (error) {
|
||||
logger.error(`INSERT 실행 오류:`, error);
|
||||
@@ -172,7 +172,7 @@ async function executeUpdate(tableName: string, data: Record<string, any>): Prom
|
||||
try {
|
||||
// ID 또는 기본키를 기준으로 업데이트
|
||||
const { id, ...updateData } = data;
|
||||
|
||||
|
||||
if (!id) {
|
||||
throw new Error('UPDATE를 위한 ID가 필요합니다');
|
||||
}
|
||||
@@ -180,20 +180,20 @@ async function executeUpdate(tableName: string, data: Record<string, any>): Prom
|
||||
const setClause = Object.keys(updateData)
|
||||
.map((key, index) => `${key} = $${index + 1}`)
|
||||
.join(', ');
|
||||
|
||||
const values = Object.values(updateData);
|
||||
const query = `UPDATE ${tableName} SET ${setClause} WHERE id = $${values.length + 1} RETURNING *`;
|
||||
|
||||
logger.info(`UPDATE 쿼리 실행:`, { query, values: [...values, id] });
|
||||
|
||||
const result = await prisma.$queryRawUnsafe(query, ...values, id);
|
||||
|
||||
const values = Object.values(updateData);
|
||||
const updateQuery = `UPDATE ${tableName} SET ${setClause} WHERE id = $${values.length + 1} RETURNING *`;
|
||||
|
||||
logger.info(`UPDATE 쿼리 실행:`, { query: updateQuery, values: [...values, id] });
|
||||
|
||||
const result = await query<any>(updateQuery, [...values, id]);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
action: 'update',
|
||||
tableName,
|
||||
data: result,
|
||||
affectedRows: Array.isArray(result) ? result.length : 1,
|
||||
affectedRows: result.length,
|
||||
};
|
||||
} catch (error) {
|
||||
logger.error(`UPDATE 실행 오류:`, error);
|
||||
@@ -226,23 +226,23 @@ async function executeUpsert(tableName: string, data: Record<string, any>): Prom
|
||||
async function executeDelete(tableName: string, data: Record<string, any>): Promise<any> {
|
||||
try {
|
||||
const { id } = data;
|
||||
|
||||
|
||||
if (!id) {
|
||||
throw new Error('DELETE를 위한 ID가 필요합니다');
|
||||
}
|
||||
|
||||
const query = `DELETE FROM ${tableName} WHERE id = $1 RETURNING *`;
|
||||
|
||||
logger.info(`DELETE 쿼리 실행:`, { query, values: [id] });
|
||||
const deleteQuery = `DELETE FROM ${tableName} WHERE id = $1 RETURNING *`;
|
||||
|
||||
logger.info(`DELETE 쿼리 실행:`, { query: deleteQuery, values: [id] });
|
||||
|
||||
const result = await query<any>(deleteQuery, [id]);
|
||||
|
||||
const result = await prisma.$queryRawUnsafe(query, id);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
action: 'delete',
|
||||
tableName,
|
||||
data: result,
|
||||
affectedRows: Array.isArray(result) ? result.length : 1,
|
||||
affectedRows: result.length,
|
||||
};
|
||||
} catch (error) {
|
||||
logger.error(`DELETE 실행 오류:`, error);
|
||||
|
||||
Reference in New Issue
Block a user