Don't be afraid of challenges
prisma가 무엇인가 본문
prisma란 ?
자바스크립트와 타입스크립트 커뮤니티에서 주목받고 있는 차세대 ORM(Object Relational Mapping) 프레임워크
데이터베이스와 상호작용하는 응용 애플리케이션을 개발할 때, 프로그래머가 직접 SQL을 작성하지 않아도 되므로, 개발 생산성을 높여준다.
효과적인 데이터 모델링을 위한 간단하지만 강력한 자체적인 스키마 문법을 제공하고 이 스키마를 통해 DB 마이그레이션과 클라이언트 코드 생성을 완전히 자동으로 생성해준다.
개발자입장에서는 데이터베이스에 접근하기 위해 작성해야하는 코드가 비약적으로 줄어들고 스키마 파일 하나만 관리하면 되기때문에 유지보수 용이하다.
prisma 설치
npm i -D prisma
prisma command
| init | set up Prisma for your app |
| generate | Generate artifacts ( e.g Prisma client) |
| db | Manage your database schema and lifecycle |
| migrate | Migrate your database |
| studio | Browse your data with Prisma Studio |
| validate | Validate your Prisma schema |
| format | Format your Prisma schema |
Set up a new Prisma project
$ prisma init
Generate artifacts (e.g. Prisma Client)
$ prisma generate
Browse your data
$ prisma studio
Create migrations from your Prisma schema, apply them to the database, generate artifacts (e.g. Prisma Client)
$ prisma migrate dev
Pull the schema from an existing database, updating the Prisma schema
$ prisma db pull
Push the Prisma schema state to the database
$ prisma db push
Validate your Prisma schema
$ prisma validate
Format your Prisma schema
$ prisma format
npx prisma init --datasource-provider sqlite
// prisma/prisma.schema
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
DB 마이그레이션 실행
npx prisma migrate dev --name init
// prisma/prisma.schema
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
// .env
DATABASE_URL="file:./dev.db"
//prisma/migrations/20230226182528_init/migration.sql
-- CreateTable
CREATE TABLE "User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"email" TEXT NOT NULL,
"name" TEXT
);
-- CreateIndex
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
'웹서비스' 카테고리의 다른 글
| [Jest] 파일 구조 & 사용법 (2) | 2024.12.26 |
|---|---|
| React Testing Library (0) | 2024.12.26 |
| 브라우저의 렌더링 원리 (3) | 2024.09.11 |
| 기술면접 준비 (0) | 2024.09.11 |
| 프론트엔드 에러모니터링, 로그 데이터 수집의 필요성 (1) | 2024.09.08 |