콘텐츠로 이동

데이터베이스 기능

출처 URL: https://docs.prisma.io/docs/orm/reference/database-features

Prisma ORM에서 지원하는 데이터베이스 기능

이 페이지는 Prisma ORM이 지원하는 데이터베이스에서 제공되는 기능을 개괄적으로 설명합니다. 또한 각 기능을 Prisma ORM에서 어떻게 사용할 수 있는지 추가 문서로 연결되는 링크와 함께 설명합니다.

이 섹션에서는 현재 Prisma ORM이 지원하는 관계형 데이터베이스에 어떤 기능이 있는지 설명합니다. Prisma schema 열은 특정 기능을 Prisma schema에서 어떻게 표현할 수 있는지를 나타내며 관련 문서로 연결됩니다. 데이터베이스 기능이 Prisma schema에서 아직 표현되지 않더라도 Prisma Client에서는 사용할 수 있다는 점에 유의하세요.

이 기능들은 관계형 데이터베이스에만 해당합니다. MongoDB 같은 NoSQL 데이터베이스에서 지원되는 기능은 아래에서 확인할 수 있습니다.

  • 제약 조건
ConstraintSupportedPrisma schemaPrisma ClientPrisma Migrate
PRIMARY KEY✔️@id and @@id✔️✔️
FOREIGN KEY✔️Relation fields✔️✔️
UNIQUE✔️*@unique and @@unique✔️✔️
CHECK✔️†Not yet✔️Not yet
NOT NULL✔️?✔️✔️
DEFAULT✔️@default✔️✔️
EXCLUDE✔️‡Not yet✔️Not yet
  • 참조 동작(외래 키 참조의 삭제 및 업데이트 동작)
Deletion behaviorSupportedPrisma schemaPrisma ClientPrisma Migrate
CASCADE✔️✔️✔️✔️
RESTRICT✔️*✔️✔️✔️
NO ACTION✔️✔️✔️✔️
SET DEFAULT✔️✔️✔️✔️
SET NULL✔️✔️✔️✔️
  • RESTRICT는 Microsoft SQL Server에서 지원되지 않습니다.
  • 인덱스
IndexSupportedPrisma schemaPrisma ClientPrisma Migrate
UNIQUE✔️@unique and @@unique✔️✔️
USINGPostgreSQL onlytype✔️✔️
WHERE✔️where (Preview)✔️✔️
(expression)✔️Not yet✔️Not yet
INCLUDEPostgreSQL and Microsoft SQL Server onlyNot yet✔️Not yet

USING으로 지정되는 알고리즘:

Index type (Algorithm)SupportedPrisma schemaPrisma ClientPrisma Migrate
B-tree✔️✔️†✔️Not yet
Hash✔️✔️†✔️Not yet
GiST✔️*✔️†✔️*Not yet
GIN✔️*✔️†✔️*Not yet
BRIN✔️*✔️†✔️*Not yet
SP-GiST✔️*✔️†✔️*Not yet
    • MySQL 및 SQLite에서는 지원되지 않음
  • † PostgreSQL 커넥터에서만 Prisma ORM 4.0.0 이상 버전에서 사용 가능
  • 기타
FeatureSupportedPrisma schemaPrisma ClientPrisma Migrate
Autoincrementing IDs✔️autoincrement()✔️✔️
ArraysPostgreSQL only[]✔️✔️
Enums✔️*†enum✔️✔️
Native database types✔️✔️✔️Not yet
SQL Views✔️Not yetNot yetNot yet
JSON support✔️†✔️✔️✔️
Fuzzy/Phrase full text search✔️‡Not yetNot yetNot yet
Table inheritancePostgreSQL and Microsoft SQL Server onlyNot yet✔️Not yet
Authorization and user management✔️‡Not yetNot yetNot yet
    • Microsoft SQL Server에서는 지원되지 않음
  • † JSON 및 Enum 타입은 Prisma ORM 6.2.0부터 SQLite에서 지원됩니다.
  • ‡ SQLite에서는 지원되지 않음

이 섹션에서는 현재 Prisma ORM이 지원하는 NoSQL 데이터베이스에 어떤 기능이 있는지 설명합니다.

  • MongoDB

다음 표는 일반적인 MongoDB 기능과 Prisma ORM이 제공하는 지원 수준을 보여줍니다.

FeatureSupported by Prisma ORMNotes
Embedded documents✔️
Transactions✔️
Indexes✔️ with caveats인덱스는 참조하는 필드에 최소한 일부 데이터가 포함된 경우에만 introspection할 수 있습니다.
Autoincrementing IDsNo
Compound IDsNoMongoDB는 복합 ID(@@id)를 지원하지 않습니다.
Generated ObjectId✔️참고: Defining IDs for MongoDB
Arrays✔️
Enums✔️Prisma ORM 레벨에서 구현됨
Native database types✔️참고: Field mapping reference
JSON support✔️고급 Json 필드 필터링은 아직 지원되지 않습니다.
DBrefsNo
Change streamsNo
Direct access to the aggregation pipelineNo