Prisma
Prisma
- 오픈소스 프로젝트 이며
- Typescript 와 Node.js 환경에서 데이터베이스에 대한 접근을 쉽게 하도록 도와주는 소프트웨어이다.
설치방법
npm install prisma --save-dev
npm install @prisma/client --save-dev
npm install dotenv nodemon -D
//nodemon 코드가 변경되어도 서버를 재실헹하지 않아도 된다.
//dotenv 환경 변수를 사용할 수 있다.
Prisma 연결
npx prisma //명령어 확인
npx prisma init //prisma 초기 세팅
prisma init을 활용해서 초기 세팅을 진행하면
해당 폴더 안에 prisma 라는 파일이 생기게 되고
폴더 안에 shame.prisma 라는 파일이 생기고
//prisma/schema.prisma
datasource db {
provider = "mysql" //실행 데이터베이스 타입
url = env("DATABASE_URL") //실행 데이터베이스 경로
}
.env 라는 파일도 생긴다.
//.env
DATABASE_URL = "mysql://USERNAME:PASSWORD@localhost:3306/DATABASE_NAME"
prisma 파일 안에 테이블 생성할 코드를 작성해 준다.
//prisma/schema.prisma
datasource db {
provider = "mysql" //실행 데이터베이스 타입
url = env("DATABASE_URL") //실행 데이터베이스 경로
}
model User { //테이블 예시
id Int @id @default(autoincrement())
email String @unique
password String
created_at DateTime? @default(now())
updated_at DateTime? //? null일수도 있는 값에 붙여준다.
deleted_at DateTime?
articles articles? //일대일 연결
comments comments[] //일대다 연결
}
model articles {
id Int @id @default(autoincrement()) //default값을 자동으로 수 증가
user_id Int
title String
body String
created_at DateTime? @default(now()) //default 값 현재 시간
updated_at DateTime?
deleted_at DateTime?
users User @relation(fields: [user_id], references: [id]) //외래키
comments comments[]
}
다 작성하고
npx prisma migrate dev --name 폴더이름
명령어를 작성해주면
이런 구조로 앞에 숫자 폴더이름 의 폴더가 생성되고 그 안에 prisma 폴더에 적힌 코드들이
sql 문법으로 변환이 되고 작성되었다.
댓글남기기