2023. 9. 15. 03:07ใ0. TiL ( Today I Learned )
Migration์ด๋?
๋ง์ด๊ทธ๋ ์ด์
๊ธฐ๋ก์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋๋ค.
๊ฐ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ํด ํ์ ํด๋ migration.sql ํ์ผ์ด ์๋ prisma/migration ํด๋:
migrations/
โโ 20210313140442_init/
โโ migration.sql
โโ 20210313140442_added_job_title/
โโ migration.sql
๋ฐ์ดํฐ๋ฒ ์ด์ค์ _prisma_migration ํ ์ด๋ธ๋ก, ๋ค์์ ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค:
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ๋ง์ด๊ทธ๋ ์ด์
์ด ์คํ๋ ๊ฒฝ์ฐ
์ ์ฉ๋ ๋ง์ด๊ทธ๋ ์ด์
์ด ์ญ์ ๋ ๊ฒฝ์ฐ
์ ์ฉ๋ ๋ง์ด๊ทธ๋ ์ด์
์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ
๋ง์ด๊ทธ๋ ์ด์ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ(๊ถ์ฅ๋์ง ์์), ๋ค์ ๋จ๊ณ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋์ง(๋ฐ๋ผ์ ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ๋ฐ์ ์ฌ์ฉํ๋์ง), ํ๋ก๋์ /ํ ์คํธ ํ๊ฒฝ์ ์๋์ง(๋ฐ๋ผ์ ๋ง์ด๊ทธ๋ ์ด์ ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ๋์ง)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด๋ฏธ ์ ์ฉ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ํธ์งํ๊ฑฐ๋ ์ญ์ ํด์๋ ์๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ก๊ณผ ์ด์ ํ๊ฒฝ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ก์ด ๋ถ์ผ์นํ ์ ์์ผ๋ฉฐ, ์ฒ์์๋ ๋ณ๊ฒฝ ๋ด์ฉ์ด ๊นจ์ง์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ผ๋ ์์์น ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๋ค.
๊ด๋ จ๋ฌธ์ : https://www.prisma.io/docs/concepts/components/prisma-migrate/migration-histories
About migration histories
About migration histories
www.prisma.io
Migration ์์ํ๊ธฐ
1. ํ๋ฆฌ์ฆ๋ง์์ ์คํค๋ง ๋ง๋ค๊ธฐ.
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
name String
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
published Boolean @default(true)
authorId Int
author User @relation(fields: [authorId], references: [id])
}
2. ์ฒซ ๋ฒ์งธ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ง๋ ๋ค.
prisma migrate dev --name init
Prisma ์คํค๋ง๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๋๊ธฐํ๋์ด ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ก์ ์ด๊ธฐํ.
migrations/
โโ 20210313140442_init/
โโ migration.sql
3. ์คํค๋ง์ ํ๋๋ฅผ ์ถ๊ฐํ๋ค.
model User {
id Int @id @default(autoincrement())
jobTitle String
name String
posts Post[]
}
4. ๋๋ฒ์งธ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ง๋ ๋ค.
prisma migrate dev --name added_job_title
Prisma ์คํค๋ง๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๋ค์ ๋๊ธฐํ๋๋ฉฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ก์๋ ๋ ๊ฐ์ง ๋ง์ด๊ทธ๋ ์ด์ ์ด ํฌํจ๋๋ค.
migrations/
โโ 20210313140442_init/
โโ migration.sql
โโ 20210313140442_added_job_title/
โโ migration.sql
๊ด๋ จ๋ฌธ์ : https://www.prisma.io/docs/concepts/components/prisma-migrate/get-started
Get started with Prisma Migrate
Get started with Prisma Migrate
www.prisma.io

๋ด์ผ๋ถํฐ ํ๋ก์ ํธ 2์ฃผ์ ๋์ ํ๋ค..
์ ๊ท๊ณผ์ 3์ฃผ๊ฐ ๋ฒ์จ ์ง๋๊ฐ๋ค...
์๊ฐ.. ๋๋ ค์ฃ ..
๋ ์ํ ์ ์๋? ใ
์ผ๋จ.. ๊ฐ๋ณด์๊ณ ..