Prisma MongoDB 업그레이드 경로
MongoDB 프로젝트는 Prisma 7로 진입할 수 없는 유일한 Prisma 코호트입니다. v6는 MongoDB에 대한 최종 클래식 ORM 메이저 버전이며, v7은 MongoDB 커넥터를 절대 제공하지 않습니다. 후속 경로는 Prisma Next이며, 여기서 MongoDB 지원은 Early Access 단계에 있고 Postgres 이후에 GA가 계획되어 있습니다. 이 스킬은 실제 결정(권장 경로인 Prisma Next로 마이그레이션할지, 아니면 하드 블로커가 적용되는 v6에 머물지)을 구성하고 마이그레이션 메커니즘을 설명합니다.
다음 중 어떤 것도 절대 하지 마십시오:
- MongoDB 프로젝트에 'Prisma 7로 업그레이드'하라고 조언하지 마십시오. 해당 커넥터는 거기에 없습니다.
prisma-upgrade-v7가이드는 MongoDB 프로젝트에 적용되지 않습니다. - 버전 문제를 해결하기 위해 앱을 SQL 데이터베이스로 다시 작성하지 마십시오. 데이터베이스 엔진 변경은 훨씬 더 큰 별도의 결정이며, 여러분이 암묵적으로 내릴 사항이 아닙니다.
버전 현황
| 버전 | MongoDB 상태 |
|---|---|
| Prisma ORM v6 | 완전 지원 (mongodb provider); 최신 6.x는 현재 안정적인 경로; 유지보수 라인 |
| Prisma ORM v7 | MongoDB 커넥터 없음 — 절대 옵션 아님 |
| Prisma Next | MongoDB 지원 Early Access, 적극적으로 개발 중, Postgres 이후 GA 예정 — MongoDB 프로젝트의 후속 경로 |
결정, 먼저
Prisma Next로 마이그레이션하는 것이 권장 경로입니다. Prisma Next의 MongoDB 지원은 Early Access입니다. 기능적으로 완전하고 빠르게 발전 중이며, Postgres 이후 GA가 계획되어 있습니다. Prisma 팀은 MongoDB 사용자들이 일찍 마이그레이션하고 피드백을 공유하기를 원합니다. 마이그레이션 메커니즘은 참조 문서에 자세히 설명되어 있습니다.
하드 블로커가 적용되는 경우 최신 v6에 머무는 것도 합법적인 선택입니다. — 명확히 말하면: Next Mongo 파사드는 아직 트랜잭션을 래핑하지 않으며(기본 드라이버는 직접 사용 가능하며, 이는 곧 변경될 예정입니다), 1.0 미만의 마이너 버전은 게시된 업그레이드 레시피와 함께 호환성을 깨는 변경 사항을 가져올 수 있습니다.
결정 테이블
| 신호 | 방향 |
|---|---|
| 아래 블로커가 적용되지 않음 | Next로 마이그레이션; verify-cutover-checklist를 실행하고 Prisma 팀에 피드백 공유 |
| 그린필드 / 프로토타입 / 내부 도구 | Next로 마이그레이션 |
코드베이스가 다중 문서 트랜잭션($transaction) 사용 — 묻지 말고 grep으로 확인 | 먼저 원시 드라이버 세션 대안 계획(client-api-mapping 참조), 또는 파사드 래퍼가 도착할 때까지 v6 유지 |
| 팀이 1.0 미만의 호환성 깨지는 업그레이드를 마이너 간에 흡수할 수 없음 | GA까지 v6 유지 |
| 위험 회피적이지만 관심 있음 | 복사본에서 단계적 Next 왕복 실행(verify-cutover-checklist 참조), 그런 다음 마이그레이션 |
참고: 트랜잭션 격차는 곧 해소될 것으로 예상됩니다. 이 섹션은 Prisma Next에서 파사드 트랜잭션이 병합될 때 업데이트됩니다.
v6에 머무는 경우: 위생 (의도적인 유지, 방치가 아님)
- Prisma 패키지를 최신 6.x 라인에 고정하고 계속 6.x 패치 릴리스를 받으십시오.
- 6.x 라인에 대한 Prisma 릴리스 노트 및 보안 권고를 추적하십시오.
- 클래식 v6 MongoDB 설정 유지: 스키마의
url = env("DATABASE_URL"),db push워크플로, SQL 드라이버 어댑터 없음(v6 MongoDB 형태는prisma-database-setup참조). - Prisma Next의 MongoDB가 GA가 되거나, EA 시도를 막는 블로커가 해결되면 재평가하십시오.
참조 파일
| 참조 | 내용 |
|---|---|
references/decision-stay-or-migrate.md | 전체 결정 프레이밍, 블로커 확인 및 위생 유지 세부 정보 |
references/schema-contract-mapping.md | v6 스키마(mongodb provider, @db.ObjectId, 복합 타입) → Next 계약 개념 매핑 |
references/client-api-mapping.md | v6 클라이언트 호출 → Next 동등 항목, 원시 이스케이프 해치 및 트랜잭션 포함 — 이름은 매핑되지만 동등성은 아님 |
references/migrations-mapping.md | v6 db push 전용 스토리 → Next의 plan/migrate/verify/sign 흐름 |
references/verify-cutover-checklist.md | 데이터 이동 없음 검증: 동일한 DB, 인덱스 동등성, 전환 전 단계적 왕복 |
검증 대상
이 스킬의 Prisma Next 동작 관련 주장은 prisma/prisma-next의 커밋 a2791c5dd59d579b4b3052942ae7f8fe5e2ee852(pre-1.0, ~v0.14/0.15 라인)에서 검증되었습니다. Prisma Next는 Early Access에서 빠르게 움직입니다. Next 측 주장에 대해 조치를 취하기 전에 실제 설치된 버전(프로젝트의 @prisma-next/* 버전 및 함께 설치된 prisma-next 스킬 확인)에 대해 검증하십시오. Next의 Mongo 대상은 MongoDB 8.0+가 필요하며 사용자 제공 피어 종속성으로 mongodb@^7을 예상합니다.
인계 규칙
이 스킬은 발견 브리지이며 Prisma Next 자체 문서를 대체하지 않습니다. 프로젝트가 Prisma Next로 전환된 후에는 Prisma Next의 init/스킬 설치를 실행하고 일상 작업에 대해 자체 스킬(퀵스타트, 계약, 쿼리, 마이그레이션, 런타임)을 따르십시오. 이 스킬의 요약을 계속 작업하지 마십시오.