Node.JS 공부하기 - 005

변우영·2024년 9월 6일

NodeJS

목록 보기
5/11

<목표>

  • ORM과 Prisma

ORM 과 Prisma

SQL 인젝션

  • Prisma는 ORM(Object Relational Mapping)으로써 Javascript 객체(Object)와 데이터베이스의 관계(Relation)을 연결(Mapping) 해주는 도구.

Prisma 설치

# yarn 프로젝트를 초기화합니다.
yarn init -y

# express, prisma, @prisma/client 라이브러리를 설치합니다.
yarn add express prisma @prisma/client

# nodemon 라이브러리를 DevDependency로 설치합니다.
yarn add -D nodemon

# 설치한 prisma를 초기화 하여, prisma를 사용할 수 있는 구조를 생성합니다.
npx prisma init

  • Prisma가 추가 된 모습! schema.prisma 파일이 생성되었고, dependencies에 prisma가 추가되었다!

  • schema.prisma 파일에 실제로 들어가보면 아래와 같다.

  • datasource
    • 데이터베이스에 대한 정의를 하기 위해 사용됩니다.

    • Prisma가 어떤 데이터베이스 엔진을 사용할 것인지, 데이터베이스의 위치(URL)는 어디인지 등의 정보를 정의하는데 사용.

      => .env 파일 안에 DATABASE_URL을 가져옴

  • generator
    • Prisma 클라이언트를 생성하는 방식을 설정하는 구문

prisma를 통해 SQL 연결하기

model Users{

  userId Int @id @default(autoincrement()) @map("userid")
  email String @unique @map("email")
  password String @map("password")
  createdAt DateTime @default(now()) @map("createdAt")
  updatedAt DateTime @updatedAt() @map("updatedAt")

  userInfos UsersInfos?
  posts Posts[]
  comments Comments[]

  @@map("Users")
}

등등 여러 테이블들을 생성 및 연결 시켜주었다.

  • 구문 형식은
    <이름> <타입> <조건> @map('실제 이름')
    조건
    @id => PRIMARY KEY
    @default => 기본값 사용
    @db.Text => db 텍스트
    (autoincrement()) 자동증가
    (now()) 현재 시간 가져오기

    등등 있다.

  • DESC Users로 만든 테이블을 표로 출력!
profile
개발자로 한걸음!

0개의 댓글