feature/prisma-to-raw-query-phase1-complete #82

Merged
kjs merged 29 commits from feature/prisma-to-raw-query-phase1-complete into main 2025-10-01 15:07:17 +09:00
3 changed files with 16 additions and 30 deletions
Showing only changes of commit 9154c9c0ca - Show all commits

View File

@ -6,7 +6,7 @@
**기술 스택:**
- **백엔드**: Node.js + TypeScript + Prisma + PostgreSQL
- **백엔드**: Node.js + TypeScript + PostgreSQL (Raw Query)
- **프론트엔드**: Next.js + TypeScript + Tailwind CSS
- **컨테이너**: Docker + Docker Compose
@ -98,12 +98,12 @@ npm install / npm uninstall # 패키지 설치/제거
package-lock.json 변경 # 의존성 잠금 파일
```
**Prisma 관련:**
**데이터베이스 관련:**
```bash
backend-node/prisma/schema.prisma # DB 스키마 변경
npx prisma migrate # 마이그레이션 실행
npx prisma generate # 클라이언트 재생성
db/ilshin.pgsql # DB 스키마 파일 변경
db/00-create-roles.sh # DB 초기화 스크립트 변경
# SQL 마이그레이션은 직접 실행
```
**설정 파일:**
@ -207,7 +207,7 @@ ERP-node/
│ ├── backend-node/
│ │ ├── Dockerfile # 프로덕션용
│ │ └── Dockerfile.dev # 개발용
│ └── src/, prisma/, package.json...
│ └── src/, database/, package.json...
├── 📁 프론트엔드
│ ├── frontend/

View File

@ -15,9 +15,6 @@ RUN npm ci
# 소스 코드 복사
COPY . .
# Prisma 클라이언트 생성
RUN npx prisma generate
# 개발 환경 설정
ENV NODE_ENV=development

View File

@ -7,8 +7,7 @@ Java Spring Boot에서 Node.js + TypeScript로 리팩토링된 PLM 시스템 백
- **Runtime**: Node.js ^20.10.0
- **Framework**: Express ^4.18.2
- **Language**: TypeScript ^5.3.3
- **ORM**: Prisma ^5.7.1
- **Database**: PostgreSQL ^8.11.3
- **Database**: PostgreSQL ^8.11.3 (Raw Query with `pg`)
- **Authentication**: JWT + Passport
- **Testing**: Jest + Supertest
@ -17,9 +16,9 @@ Java Spring Boot에서 Node.js + TypeScript로 리팩토링된 PLM 시스템 백
```
backend-node/
├── src/
│ ├── config/ # 설정 파일
│ │ ├── environment.ts
│ │ └── database.ts
│ ├── database/ # 데이터베이스 유틸리티
│ │ ├── db.ts # PostgreSQL Raw Query 헬퍼
│ │ └── ...
│ ├── controllers/ # HTTP 요청 처리
│ ├── services/ # 비즈니스 로직
│ ├── middleware/ # Express 미들웨어
@ -30,9 +29,6 @@ backend-node/
│ │ └── common.ts
│ ├── validators/ # 입력 검증 스키마
│ └── app.ts # 애플리케이션 진입점
├── prisma/
│ └── schema.prisma # 데이터베이스 스키마
├── tests/ # 테스트 파일
├── logs/ # 로그 파일
├── package.json
├── tsconfig.json
@ -59,13 +55,7 @@ PORT=8080
NODE_ENV=development
```
### 3. Prisma 클라이언트 생성
```bash
npx prisma generate
```
### 4. 개발 서버 실행
### 3. 개발 서버 실행
```bash
npm run dev
@ -80,7 +70,7 @@ npm start
## 📊 데이터베이스 스키마
기존 PostgreSQL 데이터베이스 스키마를 참고하여 Prisma 스키마를 설계했습니다.
PostgreSQL 데이터베이스를 직접 Raw Query로 사용합니다.
### 핵심 테이블
@ -146,7 +136,6 @@ npm run test:watch
- `npm test` - 테스트 실행
- `npm run lint` - ESLint 검사
- `npm run format` - Prettier 포맷팅
- `npx prisma studio` - Prisma Studio 실행
## 🔧 개발 가이드
@ -160,9 +149,9 @@ npm run test:watch
### 데이터베이스 스키마 변경
1. `prisma/schema.prisma` 수정
2. `npx prisma generate` 실행
3. `npx prisma migrate dev` 실행
1. SQL 마이그레이션 파일 작성 (`db/` 디렉토리)
2. PostgreSQL에서 직접 실행
3. 필요 시 TypeScript 타입 정의 업데이트 (`src/types/`)
## 📋 마이그레이션 체크리스트
@ -170,7 +159,7 @@ npm run test:watch
- [x] Node.js + TypeScript 프로젝트 설정
- [x] 기존 데이터베이스 스키마 분석
- [x] Prisma 스키마 설계 및 마이그레이션
- [x] PostgreSQL Raw Query 시스템 구축
- [x] 기본 인증 시스템 구현
- [x] 에러 처리 및 로깅 설정