diff --git a/backend/src/middleware/errorHandler.ts b/backend/src/middleware/errorHandler.ts index 35e195b..09ddf2d 100644 --- a/backend/src/middleware/errorHandler.ts +++ b/backend/src/middleware/errorHandler.ts @@ -22,5 +22,12 @@ export function errorHandler( } console.error('[Error]', err); + + const prismaCode = (err as { code?: string }).code; + if (prismaCode === 'P2022') { + res.status(500).json({ message: 'DB 스키마가 최신이 아닙니다. 배포 후 다시 시도해 주세요.' }); + return; + } + res.status(500).json({ message: '서버 오류가 발생했습니다.' }); } diff --git a/backend/src/routes/tasks.ts b/backend/src/routes/tasks.ts index 0de1a89..af1153a 100644 --- a/backend/src/routes/tasks.ts +++ b/backend/src/routes/tasks.ts @@ -34,8 +34,9 @@ router.get('/', async (req, res, next) => { // GET /api/tasks/:id — 단건 상세 조회 router.get('/:id', async (req, res, next) => { try { + const taskId = String(req.params.id); const task = await prisma.task.findUnique({ - where: { id: req.params.id }, + where: { id: taskId }, include: { assignee: { select: { id: true, name: true, department: true } }, creator: { select: { id: true, name: true } }, diff --git a/render.yaml b/render.yaml index ceffcf8..6b76cf8 100644 --- a/render.yaml +++ b/render.yaml @@ -3,8 +3,8 @@ services: name: eene-dashboard-backend runtime: node rootDir: backend - buildCommand: npm install --include=dev && npx prisma migrate deploy || npx prisma db push && npx prisma generate && npm run build - startCommand: npm start + buildCommand: npm install --include=dev && (npx prisma migrate deploy || true) && npx prisma db push && npx prisma generate && npm run build + startCommand: npx prisma db push && npm start envVars: - key: DATABASE_URL sync: false # Render 대시보드에서 직접 입력