mysql workbench와 비슷한 역할인데 좀 더 보기 좋음. (유료)
npm i prisma
npx prisma init
만약 mysql로 변경하고 싶다면
< >
: 본인의 환경에 맞게 수정
DATABASE_URL="mysql://<name>:<password>@localhost:3306/<appname>"
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())
}
npx prisma migrate dev
// mongodb or something
// npx prisma db push
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
export default prisma;
❌ too many prisma client
위 prisma를 여러 컴포넌트에서 import해서 사용할 경우 계속해서 새로운 인스턴스가 생성될 수 있다. 하나의 프로젝트에는 하나의 인스턴스만 생성하게 하자. 그러려면 아래처럼 수정해야 한다. (2023.12.10 최근에 바뀐듯..?)
근데 eslint 경고가 엄청 뜸;;;