Datagrip

mysql workbench와 비슷한 역할인데 좀 더 보기 좋음. (유료)

Prisma 시작

npm i prisma
npx prisma init

.env / schema.prisma 파일 수정

만약 mysql로 변경하고 싶다면

< > : 본인의 환경에 맞게 수정

DATABASE_URL="mysql://<name>:<password>@localhost:3306/<appname>"

Prisma setting

https://www.prisma.io/docs/orm/reference/connection-urls

https://www.prisma.io/docs/orm/prisma-schema/data-model/models

// This is your Prisma schema file,
// learn more about it in the docs: <https://pris.ly/d/prisma-schema>

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id           Int      @id @default(autoincrement())
  email        String   @unique
  name         String
  followers    Int      @default(0)
  isActive     Boolean  @default(true)
  registeredAt DateTime @default(now())
}

After making(updating) models (mysql)

npx prisma migrate dev
// mongodb or something
// npx prisma db push

Create prisma client

import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

export default prisma;

❌ too many prisma client

위 prisma를 여러 컴포넌트에서 import해서 사용할 경우 계속해서 새로운 인스턴스가 생성될 수 있다. 하나의 프로젝트에는 하나의 인스턴스만 생성하게 하자. 그러려면 아래처럼 수정해야 한다. (2023.12.10 최근에 바뀐듯..?)

근데 eslint 경고가 엄청 뜸;;;