Prisma의 기본 조작 (MySQL 마이그레이션 편)
6081 단어 MySQLTypeScriptORMprisma5
본 기사의 내용
TypeScript와 Go 언어를 지원하는 Prisma에 대해 설명합니다.
본 기사는 마이그레이션편입니다. CRUD 처리는 CRUD 처리편을 읽으십시오.
아젠다
1. Prisma란?
Prisma란?
Prisma는 PostgreSQL, MySQL, SQLite 용 ORM. TypeScript, Go 언어 지원.
주요 서비스는 세 가지이지만이 기사에서는 Prisma Migration에 대한 설명을 제공합니다.
○ 주요 서비스
① Prisma Client: DB 클라이언트.
② Prisma Migration: TBL 작성 시의 마이그레이션 툴
③ Prisma Studio : TBL 상태를 확인하는 도구
2. Prisma 설치
Prisma 설치
Prisma는 npm 지원을 받으므로 npm 또는 yarn 명령으로 설치할 수 있습니다.
아래 명령으로 설치합시다.
~/develop/study/prisma $ yarn init
yarn init v1.22.5
warning ../../../package.json: No license field
question name (prisma):
question version (1.0.0):
question description:
question entry point (index.js):
question repository url:
question author:
question license (MIT):
question private:
success Saved package.json
✨ Done in 6.47s.
~/develop/study/prisma $ yarn add prisma
yarn add v1.22.5
warning ../../../package.json: No license field
info No lockfile found.
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ @prisma/[email protected]
└─ [email protected]
✨ Done in 4.42s.
인스톨 후에는 prisma의 필요 모듈을 인스톨 하기 위해, 하기 커멘드를 실행한다.
~/develop/study/prisma $ yarn prisma init
yarn run v1.22.5
warning ../../../package.json: No license field
$ /Users/kawamurakouji/develop/study/prisma/node_modules/.bin/prisma init
✔ Your Prisma schema was created at prisma/schema.prisma
You can now open it in your favorite editor.
Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlserver or sqlite.
3. Run yarn prisma db pull to turn your database schema into a Prisma data model.
4. Run yarn prisma generate to install Prisma Client. You can then start querying your database.
More information in our documentation:
https://pris.ly/d/getting-started
✨ Done in 1.65s.
prisma 디렉토리가 작성되고 schema.prisma가 작성되면 준비 OK입니다.
~/develop/study/prisma $ tree -I node_modules
.
├── package.json
├── prisma
│ └── schema.prisma
└── yarn.lock
3. Prisma 마이그레이션
3-1. schema.prisma 수정
TBL 작성 및 DB에 대한 액세스 정보는 schema.prisma에서 관리됩니다. 그러므로 schema.prisma를 수정해 봅시다.
prisma 디렉토리의 schema.prisma를여십시오. 기본적으로 다음과 같은 파일입니다.
그것을 다음과 같이 변경하십시오. 이제 UserTBL을 만들 수 있습니다.
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
3-2. .env 설정
schema.prisma는 DB 계정과 PW를 url로 저장합니다. url은 환경 변수로 등록해야하므로 등록을 위해 .env를 편집하십시오. .env는 이미 만들어졌으며 배치 위치는 다음과 같습니다.
~/develop/study/prisma $ ls -la
total 24
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:36 .
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:15 ..
-rw-r--r-- 1 kawamurakouji staff 477 7 5 16:36 .env
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:34 node_modules
-rw-r--r-- 1 kawamurakouji staff 169 7 5 16:34 package.json
drwxr-xr-x 3 kawamurakouji staff 96 7 5 16:36 prisma
-rw-r--r-- 1 kawamurakouji staff 1637 7 5 16:34 yarn.lock
기본적으로 다음과 같이 되어 있습니다.
.env를 아래와 같이 변경하십시오. ({사용자 이름}, {비밀번호}, {스키마 이름}은 환경에 따라 변경하십시오.)
~/develop/study/prisma $ cat .env
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
DATABASE_URL="mysql://{ユーザ名}:{パスワード}@localhost:3306/{スキーマ名}"
3-3. TBL 작성
그럼 TBL을 만들어 갑시다. 미리 MySQL을 설치하고 스키마까지 작성하십시오.
아래 명령으로 TBL을 작성합시다.
작성되었으므로 TBL이 만들어진 것을 확인합니다.
Reference
이 문제에 관하여(Prisma의 기본 조작 (MySQL 마이그레이션 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kouji0705/items/945baaeab0a476550c40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Prisma 설치
Prisma는 npm 지원을 받으므로 npm 또는 yarn 명령으로 설치할 수 있습니다.
아래 명령으로 설치합시다.
~/develop/study/prisma $ yarn init
yarn init v1.22.5
warning ../../../package.json: No license field
question name (prisma):
question version (1.0.0):
question description:
question entry point (index.js):
question repository url:
question author:
question license (MIT):
question private:
success Saved package.json
✨ Done in 6.47s.
~/develop/study/prisma $ yarn add prisma
yarn add v1.22.5
warning ../../../package.json: No license field
info No lockfile found.
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ @prisma/[email protected]
└─ [email protected]
✨ Done in 4.42s.
인스톨 후에는 prisma의 필요 모듈을 인스톨 하기 위해, 하기 커멘드를 실행한다.
~/develop/study/prisma $ yarn prisma init
yarn run v1.22.5
warning ../../../package.json: No license field
$ /Users/kawamurakouji/develop/study/prisma/node_modules/.bin/prisma init
✔ Your Prisma schema was created at prisma/schema.prisma
You can now open it in your favorite editor.
Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Set the provider of the datasource block in schema.prisma to match your database: postgresql, mysql, sqlserver or sqlite.
3. Run yarn prisma db pull to turn your database schema into a Prisma data model.
4. Run yarn prisma generate to install Prisma Client. You can then start querying your database.
More information in our documentation:
https://pris.ly/d/getting-started
✨ Done in 1.65s.
prisma 디렉토리가 작성되고 schema.prisma가 작성되면 준비 OK입니다.
~/develop/study/prisma $ tree -I node_modules
.
├── package.json
├── prisma
│ └── schema.prisma
└── yarn.lock
3. Prisma 마이그레이션
3-1. schema.prisma 수정
TBL 작성 및 DB에 대한 액세스 정보는 schema.prisma에서 관리됩니다. 그러므로 schema.prisma를 수정해 봅시다.
prisma 디렉토리의 schema.prisma를여십시오. 기본적으로 다음과 같은 파일입니다.
그것을 다음과 같이 변경하십시오. 이제 UserTBL을 만들 수 있습니다.
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
3-2. .env 설정
schema.prisma는 DB 계정과 PW를 url로 저장합니다. url은 환경 변수로 등록해야하므로 등록을 위해 .env를 편집하십시오. .env는 이미 만들어졌으며 배치 위치는 다음과 같습니다.
~/develop/study/prisma $ ls -la
total 24
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:36 .
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:15 ..
-rw-r--r-- 1 kawamurakouji staff 477 7 5 16:36 .env
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:34 node_modules
-rw-r--r-- 1 kawamurakouji staff 169 7 5 16:34 package.json
drwxr-xr-x 3 kawamurakouji staff 96 7 5 16:36 prisma
-rw-r--r-- 1 kawamurakouji staff 1637 7 5 16:34 yarn.lock
기본적으로 다음과 같이 되어 있습니다.
.env를 아래와 같이 변경하십시오. ({사용자 이름}, {비밀번호}, {스키마 이름}은 환경에 따라 변경하십시오.)
~/develop/study/prisma $ cat .env
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
DATABASE_URL="mysql://{ユーザ名}:{パスワード}@localhost:3306/{スキーマ名}"
3-3. TBL 작성
그럼 TBL을 만들어 갑시다. 미리 MySQL을 설치하고 스키마까지 작성하십시오.
아래 명령으로 TBL을 작성합시다.
작성되었으므로 TBL이 만들어진 것을 확인합니다.
Reference
이 문제에 관하여(Prisma의 기본 조작 (MySQL 마이그레이션 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kouji0705/items/945baaeab0a476550c40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
~/develop/study/prisma $ ls -la
total 24
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:36 .
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:15 ..
-rw-r--r-- 1 kawamurakouji staff 477 7 5 16:36 .env
drwxr-xr-x 7 kawamurakouji staff 224 7 5 16:34 node_modules
-rw-r--r-- 1 kawamurakouji staff 169 7 5 16:34 package.json
drwxr-xr-x 3 kawamurakouji staff 96 7 5 16:36 prisma
-rw-r--r-- 1 kawamurakouji staff 1637 7 5 16:34 yarn.lock
~/develop/study/prisma $ cat .env
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
DATABASE_URL="mysql://{ユーザ名}:{パスワード}@localhost:3306/{スキーマ名}"
Reference
이 문제에 관하여(Prisma의 기본 조작 (MySQL 마이그레이션 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kouji0705/items/945baaeab0a476550c40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)