일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 로우코드#ERP#관리시스템#상품관리#선택박스#자동화프로그램
- 광동온더그린#프랜즈#가상CC#스크린골프#
- #창작#SNS#스포츠#반려동물#연애#과제#레시피#활동#건강#운세#글쓰기#비즈니스 #AI비서#챗GPT#CHATGPT
- 마이봇#API 설정
- 마이봇#챗봇
- 펫버틀러#서버연동#프로필등록#로그인서버연동#이미지#동영상#업로드용 화면#앱개발#플러터#반려생활#로딩바#loading bar#
- 쇼핑몰관리시스템#매입관리#시트메타#매입채널#엑셀업로드
- 플러터#
- flutter#ios#앱개발#마이봇#
- 시트메타#관리시스템#테이블연동#품목관리
- postgres#vector
- figma#flutter#dhwise#피그마#플러터#피그마 to 플러터 #figma to flutter
- PDF검색#PDF검색챗봇#NEXTJS#스터디#스타트업#랭체이#langchain#prisma#sqlite#
- 마이봇#핸드폰대체#
- 플러터#sms#mms#문자보내기
- 커피#그라인더#통돌이 오픈 #로스팅#드립커피#생두#원두
- 마이봇#chatgpt#ai#인공지능
- ax5#tree#grid#단계별 펼치기# depth #시트메타
- 마이봇#pdf챗봇#상담챗봇#faq챗봇#chatgpt#랭체인#llm
- 마이봇#문서챗봇#PDF#TEXT#유투브#챗봇만들기#랭체인# langchain#벡터데이터#자료검색#챗GPT#GPT4#챗지피티
- PDF#챗봇검색#서비스#GPT4#PGT3.5#GPT#랭체인#챗봇#CHATBOT#LLM#문서검색
- fcm#메세지전송#안드로이드메세지#플러터메세지전송
- flutterfire configure#파이어베이스#플러터
- firebase#message#메세지#플러터#안드로이드
- 로우코드#lowcode#erp#관리시스템#시트메이트#시트메타#엑셀업로드#엑셀다운로드#그리드#데이터관리#생산관리시스템#로그관리#히스토리#입력체크
- 임대사업자#리걸테크#legaltech#마이봇#챗봇#법률챗봇#임대사업자챗봇#chatgpt#
- 마이봇#아이폰#아이폰심사#IT고시#
- mediasaop#webrtc#미디어서버#
- flutter#채팅창@메모창#url링크#날짜추가
- flutter#sqlite#chatGPT#
- Today
- Total
혼자서 앱 만드는 개발자 함께하는 AI 세상
nextjs 랭체인Prisma Migrate로 개발 본문
https://www.prisma.io/docs/concepts/components/prisma-migrate
https://www.prisma.io/docs/guides/migrate/developing-with-prisma-migrate
Prisma Migrate로 개발
이 가이드는 스키마 정의에서 소스 제어로의 마이그레이션 커밋에 이르기까지 Prisma Migrate를 사용한 일반적인 개발 워크플로를 안내합니다 . 이 가이드는 빈 데이터베이스에서 시작하지만 Prisma Migrate를 기존 프로젝트에 추가 할 수도 있습니다 .
개발 환경에서는 migrate dev명령을 사용하여 마이그레이션을 만들고 적용합니다.
프로토타이핑? 프로토타이핑db push 중이고 데이터 손실이나 다른 환경에서의 변경 사항 복제에 관심이 없는 경우 명령을 사용하십시오 . 변경 사항에 만족하면 마이그레이션 기록을 시작하거나 계속할 수 있습니다.
개발에서 Prisma Migrate를 사용하는 것이 편하다면 다음 고급 가이드를 고려하십시오.
이 가이드는 MongoDB에 적용되지 않습니다 .
대신에 가 migrate devMongoDB 에db push 사용됩니다 .
스키마 만들기
이 가이드에서는 다음 스키마를 시작점으로 사용합니다.
기본 유형 속성으로 스키마 구체화
Prisma Migrate는 기본 필드 유형 속성을 지원합니다. 생성해야 하는 기본 데이터베이스 유형을 지정할 수 있습니다.
예를 들어 PostgreSQL 공급자는 기본적으로 String에 매핑됩니다 text. 기본 매핑을 변경하려면:
- 기본 유형 주석을 추가하여 기본 데이터베이스에서 title필드를 a 로 만듭니다 .varchar(200)
-
// ...model Post {id Int @id @default(autoincrement())title String @db.VarChar(200)published Boolean @default(true)content StringauthorId Intauthor User @relation(fields: [authorId], references: [id])categories Category[]}// ...
섀도우 데이터베이스 구성
개발 환경에서만 Prisma Migrate는 임시 섀도우 데이터베이스를 사용하여 스키마 드리프트 감지와 같은 작업을 수행합니다.
- 로컬에서 호스팅되는 데이터베이스에 대해 개발하는 경우 사용자에게 충분한 권한이 있는지 확인하십시오.
- 클라우드 호스팅 데이터베이스에 대해 개발하는 경우 섀도우 데이터베이스를 프로비저닝하고 shadowDatabaseUrl필드를 설정해야 합니다.
마이그레이션 만들기
마이그레이션을 만들려면 스키마를 변경하고 다음 명령을 실행하여 마이그레이션을 만들고 적용합니다.
다음 예에서는 세 개의 마이그레이션이 포함된 마이그레이션 기록이 생성됩니다.
첫 마이그레이션: 마이그레이션 이력 초기화
다음 명령을 실행하여 마이그레이션 기록을 초기화하고 Prisma Migrate를 시작하십시오.
참고 : 를 제공하지 않으면 --namePrisma CLI에서 이름을 묻는 메시지를 표시합니다.
migrate dev명령을 처음 실행하면 Prisma Migrate가 다음을 수행합니다.
- ./prisma/migrations초기 마이그레이션으로 폴더를 생성합니다 .
-
migrations/└─ 20210305110829_first_migration/└─ migration.sql
- _prisma_migrations첫 번째 마이그레이션 항목이 있는 데이터베이스에 이름이 지정된 테이블을 만듭니다 .
- ID체크섬finish_at마이그레이션 이름로그roll_back_at시작_에서적용_단계_수
5f285eeb-3714-461c-bb3a-03a7adad6aad 1beaf4ec9e8cfdc1f fa546aa0b0d94ba2b382293d 7b7237619202f2372c 2021-03-09 14:55:38.712883 20210305110829_first_migration 없는 없는 2021-03-09 14:55:38.542458 1
두 번째 마이그레이션: 새 필드 추가
- 스키마에 두 개의 필드를 추가합니다.
-
model User {id Int @id @default(autoincrement())name StringjobTitle String @db.VarChar(100)posts Post[]profile Profile?}model Post {id Int @id @default(autoincrement())title Stringpublished Boolean @default(true)content StringauthorId Intauthor User @relation(fields: [authorId], references: [id])tags String[]categories Category[]}
- 마이그레이션 생성:_prisma_migrations이제 테이블에 두 개의 항목이 있습니다 .migrations이제 폴더에 두 가지 마이그레이션이 있습니다 .
-
migrations/└─ 20210305110829_first_migration/└─ migration.sql└─ 20210305120829_add_fields/└─ migration.sql
- ID체크섬finish_at마이그레이션 이름로그roll_back_at시작_에서적용_단계_수
5f285eeb-3714-461c-bb3a-03a7adad6aad 1beaf4ec9e8cfdc1ffa 546aa0b0d94ba2b382293d 7b7237619202f2372c 2021-03-09 14:55:38.712883 20210305110829_first_migration 없는 없는 2021-03-09 14:55:38.542458 1 034e198c-dd9f-482a-afdc-26437708ed1e b12be494d0f81 716d6732ae221b02a65677c6 2aafbb76f6e3fea4929f77f3d 2021-03-09 14:55:38.767893 20210305120829_add_fields 없는 없는 2021-03-09 14:55:38.724587 1 -
$npx prisma migrate dev --name add-fields
세 번째 마이그레이션: 필드 유형을 호환 가능한 유형으로 변경
- name필드를 a로 변경합니다 varchar(50)(기본값은 text).
- 마이그레이션 생성:_prisma_migrations이제 테이블에 세 개의 항목이 있습니다 .migrations이제 폴더에 세 가지 마이그레이션이 있습니다 .
-
migrations/└─ 20210305110829_first_migration/└─ migration.sql└─ 20210305120829_add_fields/└─ migration.sql└─ 20210308102042_type-change/└─ migration.sql
- ID체크섬finish_at마이그레이션 이름로그roll_back_at시작_에서적용_단계_수
5f285eeb-3714-461c-bb3a-03a7adad6aad 1beaf4ec9e8cfdc1ffa 546aa0b0d94ba2b382293d 7b7237619202f2372c 2021-03-09 14:55:38.712883 20210305110829_first_migration 없는 없는 2021-03-09 14:55:38.542458 1 034e198c-dd9f-482a-afdc-26437708ed1e b12be494d0f81 716d6732ae221b02a65677c6 2aafbb76f6e3fea4929f77f3d 2021-03-09 14:55:38.767893 20210305120829_add_fields 없는 없는 2021-03-09 14:55:38.724587 1 932e198c-2d9f-182a-afdc-26437708ed1e cd14e494d0f81 216d3732ae221b02a65677c6 fddfbb76f6e3fea4929f77f3d 2021-03-09 14:55:38.767893 20210308102042_type_change 없는 없는 2021-03-09 14:55:38.724587 1 -
$npx prisma migrate dev --name type-change
고급 시나리오
스키마 변경은 새 필드, 모델 또는 관계 추가와 같이 종종 추가적 입니다. 스키마의 일부를 이동하거나 이름을 바꾸거나 대폭 리팩터링하는 경우 생성된 SQL을 적용하기 전에 기존 데이터를 보존하기 위해 편집해야 할 가능성이 큽니다.
예제는 고급 마이그레이션 시나리오를 참조하세요 .
시드 스크립트 작성
migrate reset개발 환경에서 데이터베이스 를 재설정해야 합니다. 예를 들어 마이그레이션 기록이 다른 브랜치 간에 정기적으로 전환하는 경우 Prisma Migrate는 prisma migrate dev. 시드 스크립트를 사용할 수 있는 경우 Prisma Migrate는 데이터베이스를 재설정한 후 해당 스크립트를 실행합니다.
예제는 데이터베이스 시드를 참조하세요 .
'nextjs 랭체인 챗봇만들기' 카테고리의 다른 글
마이봇을 활용해서 오늘 올라온 주식 유투브 내용을 물어보기 (0) | 2023.09.04 |
---|---|
마이봇 나만의 챗봇 만들기 (2) | 2023.09.03 |
postgres 우분투 2.0 설치 환경에서 pgvector 설치 (0) | 2023.08.11 |
GPT-4 랭체인 할용한 PDF 챗봇검색 서비스 (0) | 2023.08.10 |
소셜로그인을 위한 github 자격증명 구글 자격증명 (0) | 2023.08.10 |