# Prisma Documentation - Prisma ORM > Prisma ORM setup, schema modeling, Prisma Client, migrations, and references. - [``client`: Add methods to Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/client): Extend the functionality of Prisma Client, client component - [``model`: Add custom methods to your models`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/model): Extend the functionality of Prisma Client, model component - [``query`: Create custom Prisma Client queries`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/query): Extend the functionality of Prisma Client, query component - [``result`: Add custom fields and methods to query results`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/result): Extend the functionality of Prisma Client, result component - [`About migration histories`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/migration-histories): About migration histories - [`About the shadow database`](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database): Learn how Prisma Migrate uses shadow databases to detect schema drift - [`About the shadow database`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/shadow-database): About the shadow database - [`Add custom fields and methods to query results`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/result): Extend the functionality of Prisma Client, result component - [`Add custom methods to your models`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/model): Extend the functionality of Prisma Client, model component - [`Add methods to Prisma Client`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/client): Extend the functionality of Prisma Client, client component - [`Aggregation, grouping, and summarizing`](https://www.prisma.io/docs/orm/prisma-client/queries/aggregation-grouping-summarizing): Use Prisma Client to aggregate, group by, count, and select distinct. - [`Aggregation, grouping, and summarizing`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/aggregation-grouping-summarizing): Use Prisma Client to aggregate, group by, count, and select distinct. - [`API patterns`](https://www.prisma.io/docs/orm/core-concepts/api-patterns): How to use Prisma ORM with REST APIs, GraphQL servers, and fullstack frameworks - [`Baselining a database`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/baselining): How to initialize a migration history for an existing database that contains important data. - [`Baselining a database`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/baselining): How to initialize a migration history for an existing database that contains important data. - [`Best practices`](https://www.prisma.io/docs/orm/more/best-practices): Learn production-ready patterns for schema design, query optimization, type safety, security, and deployment with Prisma ORM. - [`Bundler issues`](https://www.prisma.io/docs/orm/more/troubleshooting/bundler-issues): Solve ENOENT package error with vercel/pkg and other bundlers - [`Bundler issues`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/bundler-issues): Solve ENOENT package error with vercel/pkg and other bundlers - [`Case sensitivity`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/case-sensitivity): How Prisma Client handles case sensitivity when filtering and sorting. - [`Caveats when deploying to AWS platforms`](https://www.prisma.io/docs/orm/prisma-client/deployment/caveats-when-deploying-to-aws-platforms): Known caveats when deploying to an AWS platform - [`Caveats when deploying to AWS platforms`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/caveats-when-deploying-to-aws-platforms): Known caveats when deploying to an AWS platform - [`ChatGPT`](https://www.prisma.io/docs/orm/v6/more/ai-tools/chatgpt): Learn how to add the remote Prisma MCP server to ChatGPT to manage your Prisma Postgres databases. - [`Check constraints`](https://www.prisma.io/docs/orm/more/troubleshooting/check-constraints): Learn how to configure CHECK constraints for data validation with Prisma ORM and PostgreSQL - [`Check constraints`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/check-constraints): Learn how to configure CHECK constraints for data validation with Prisma ORM and PostgreSQL. - [`Cloudflare D1`](https://www.prisma.io/docs/orm/v6/overview/databases/cloudflare-d1): Guide to Cloudflare D1 - [`CockroachDB`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/cockroachdb): Add Prisma ORM to an existing TypeScript project with CockroachDB and learn database introspection, baselining, and querying - [`CockroachDB`](https://www.prisma.io/docs/prisma-orm/quickstart/cockroachdb): Create a new TypeScript project from scratch by connecting Prisma ORM to CockroachDB and generating a Prisma Client for database access - [`CockroachDB`](https://www.prisma.io/docs/orm/v6/overview/databases/cockroachdb): Guide to CockroachDB - [`Composite types`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/composite-types): Work with composite types and embedded documents in MongoDB - [`Composite types`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types/composite-types): Learn about composite types in Prisma Client for MongoDB - [`Computed fields`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/computed-fields): This page explains how to use client extensions to add computed fields to Prisma models. - [`Config API`](https://www.prisma.io/docs/orm/reference/prisma-config-reference): Complete reference for prisma.config.ts configuration options - [`Configure Prisma Client with PgBouncer`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/databases-connections/pgbouncer): Configure Prisma Client with PgBouncer and other poolers: when to use pgbouncer=true, required transaction mode, prepared statements, and Prisma Migrate workarounds - [`Configure Prisma Client with PgBouncer`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/databases-connections/pgbouncer): Configure Prisma Client with PgBouncer and other poolers: when to use pgbouncer=true, required transaction mode, prepared statements, and Prisma Migrate workarounds. - [`Configuring error formatting`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/error-formatting): This page explains how to configure the formatting of errors when using Prisma Client - [`Configuring error formatting`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/error-formatting): This page explains how to configure the formatting of errors when using Prisma Client. - [`Connection management`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-management): This page explains how database connections are handled with Prisma Client and how to manually connect and disconnect your database - [`Connection management`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/databases-connections/connection-management): This page explains how database connections are handled with Prisma Client and how to manually connect and disconnect your database. - [`Connection pool`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/databases-connections/connection-pool): Prisma Client uses a connection pool (from the database driver or driver adapter) to store and manage database connections. - [`Connection pool`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/databases-connections/connection-pool): Prisma ORM's query engine creates a connection pool to store and manage database connections. - [`Connection URLs`](https://www.prisma.io/docs/orm/reference/connection-urls): Learn about the format and syntax Prisma ORM uses for defining database connection URLs for PostgreSQL, MySQL and SQLite - [`Connection URLs`](https://www.prisma.io/docs/orm/v6/reference/connection-urls): Learn about the format and syntax Prisma ORM uses for defining database connection URLs for PostgreSQL, MySQL and SQLite. - [`Create custom Prisma Client queries`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/query): Extend the functionality of Prisma Client, query component - [`CRUD`](https://www.prisma.io/docs/orm/prisma-client/queries/crud): Learn how to perform create, read, update, and delete operations - [`CRUD`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/crud): How to perform CRUD with Prisma Client. - [`Cursor`](https://www.prisma.io/docs/orm/v6/more/ai-tools/cursor): Learn tips and best practices for using Prisma ORM with the Cursor AI code editor. - [`Custom model and field names`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/custom-model-and-field-names): Learn how you can decouple the naming of Prisma models from database tables to improve the ergonomics of the generated Prisma Client API - [`Custom model and field names`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/custom-model-and-field-names): Learn how you can decouple the naming of Prisma models from database tables to improve the ergonomics of the generated Prisma Client API. - [`Custom models`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/custom-models): This page explains how to wrap Prisma Client in custom models - [`Custom validation`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/custom-validation): This page explains how to add custom validation to Prisma Client - [`Customizing migrations`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/customizing-migrations): How to edit a migration file before applying it to avoid data loss in production. - [`Customizing migrations`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/customizing-migrations): How to edit a migration file before applying it to avoid data loss in production. - [`Data migrations`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/data-migration): How to migrate data using Prisma ORM with the expand and contract pattern. - [`Data modeling`](https://www.prisma.io/docs/orm/core-concepts/data-modeling): Learn how data modeling with Prisma differs from data modeling with SQL or ORMs. Prisma uses a declarative data modeling language to describe a database schema - [`Data modeling`](https://www.prisma.io/docs/orm/v6/overview/introduction/data-modeling): Learn how data modeling with Prisma differs from data modeling with SQL or ORMs. Prisma uses a declarative data modeling language to describe a database schema. - [`Data sources`](https://www.prisma.io/docs/orm/prisma-schema/overview/data-sources): Data sources enable Prisma to connect to your database. This page explains how to configure data sources in your Prisma schema - [`Data sources`](https://www.prisma.io/docs/orm/v6/prisma-schema/overview/data-sources): Data sources enable Prisma to connect to your database. This page explains how to configure data sources in your Prisma schema. - [`Database connections`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/databases-connections): Learn how to manage database connections and configure connection pools - [`Database connections`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/databases-connections): Databases connections - [`Database drivers`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/database-drivers): Learn how Prisma connects to your database using driver adapters - [`Database drivers`](https://www.prisma.io/docs/orm/v6/overview/databases/database-drivers): Learn how Prisma connects to your database using the built-in drivers and how you can use Prisma along with other JavaScript database drivers using driver adapters (Preview) - [`Database Features`](https://www.prisma.io/docs/orm/reference/database-features): Database features supported in Prisma ORM - [`Database features matrix`](https://www.prisma.io/docs/orm/v6/reference/database-features): Learn which database features are supported in Prisma ORM and how they map to the different Prisma ORM tools. - [`Database mapping`](https://www.prisma.io/docs/orm/prisma-schema/data-model/database-mapping): Learn how to map model and field names to database tables and columns - [`Database mapping`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/database-mapping): Database mapping in Prisma schema - [`Database polyfills`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/database-polyfills): Prisma Client provides features that are not achievable with relational databases. These features are referred to as "polyfills" and explained on this page. - [`Database polyfills`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/database-polyfills): Prisma Client provides features that are not achievable with relational databases. These features are referred to as "polyfills" and explained on this page. - [`Debugging`](https://www.prisma.io/docs/orm/prisma-client/debugging-and-troubleshooting/debugging): This page explains how to enable debugging output for Prisma Client by setting the `DEBUG` environment variable - [`Debugging`](https://www.prisma.io/docs/orm/v6/prisma-client/debugging-and-troubleshooting/debugging): This page explains how to enable debugging output for Prisma Client by setting the `DEBUG` environment variable. - [`Deploy migrations from a local environment`](https://www.prisma.io/docs/orm/prisma-client/deployment/deploy-migrations-from-a-local-environment): Learn how to deploy Node.js and TypeScript applications that are using Prisma Client locally - [`Deploy migrations from a local environment`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/deploy-migrations-from-a-local-environment): Learn how to deploy Node.js and TypeScript applications that are using Prisma Client locally. - [`Deploy Prisma ORM`](https://www.prisma.io/docs/orm/prisma-client/deployment/deploy-prisma): Learn more about the different deployment paradigms for Node.js applications and how they affect deploying an application using Prisma Client - [`Deploy Prisma ORM`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/deploy-prisma): Learn more about the different deployment paradigms for Node.js applications and how they affect deploying an application using Prisma Client. - [`Deploy to a different OS`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/deploy-to-a-different-os): Learn how to deploy Node.js and TypeScript applications that are using Prisma Client to a different operating system. - [`Deploy to AWS Lambda`](https://www.prisma.io/docs/orm/prisma-client/deployment/serverless/deploy-to-aws-lambda): Learn how to deploy your Prisma ORM-backed applications to AWS Lambda with AWS SAM, Serverless Framework, or SST - [`Deploy to AWS Lambda`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/serverless/deploy-to-aws-lambda): Learn how to deploy your Prisma ORM-backed applications to AWS Lambda with AWS SAM, Serverless Framework, or SST - [`Deploy to Azure Functions`](https://www.prisma.io/docs/orm/prisma-client/deployment/serverless/deploy-to-azure-functions): Learn how to deploy a Prisma Client based REST API to Azure Functions and connect to an Azure SQL database - [`Deploy to Azure Functions`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/serverless/deploy-to-azure-functions): Learn how to deploy a Prisma Client based REST API to Azure Functions and connect to an Azure SQL database - [`Deploy to Cloudflare Workers & Pages`](https://www.prisma.io/docs/orm/prisma-client/deployment/edge/deploy-to-cloudflare): Learn the things you need to know in order to deploy an app that uses Prisma Client for talking to a database to a Cloudflare Worker or to Cloudflare Pages - [`Deploy to Cloudflare Workers & Pages`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/edge/deploy-to-cloudflare): Learn the things you need to know in order to deploy an app that uses Prisma Client for talking to a database to a Cloudflare Worker or to Cloudflare Pages. - [`Deploy to Deno Deploy`](https://www.prisma.io/docs/orm/prisma-client/deployment/edge/deploy-to-deno-deploy): - [`Deploy to Deno Deploy`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/edge/deploy-to-deno-deploy): Learn how to deploy a TypeScript application to Deno Deploy. - [`Deploy to Fly.io`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-flyio): Learn how to deploy a Node.js server that uses Prisma ORM to Fly.io - [`Deploy to Fly.io`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-flyio): Learn how to deploy a Node.js server that uses Prisma ORM to Fly.io. - [`Deploy to Heroku`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-heroku): Learn how to deploy a Node.js server that uses Prisma ORM to Heroku - [`Deploy to Heroku`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-heroku): Learn how to deploy a Node.js server that uses Prisma ORM to Heroku. - [`Deploy to Koyeb`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-koyeb): Learn how to deploy a Node.js server that uses Prisma ORM to Koyeb Serverless Platform - [`Deploy to Koyeb`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-koyeb): Learn how to deploy a Node.js server that uses Prisma ORM to Koyeb Serverless Platform. - [`Deploy to Netlify`](https://www.prisma.io/docs/orm/prisma-client/deployment/serverless/deploy-to-netlify): Learn how to deploy Node.js and TypeScript applications that are using Prisma Client to Netlify - [`Deploy to Netlify`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/serverless/deploy-to-netlify): Learn how to deploy Node.js and TypeScript applications that are using Prisma Client to Netlify. - [`Deploy to Railway`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-railway): Learn how to deploy an app that uses Prisma ORM and Prisma Postgres to Railway - [`Deploy to Railway`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-railway): Learn how to deploy an app that uses Prisma ORM and Prisma Postgres to Railway. - [`Deploy to Render`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-render): Learn how to deploy a Node.js server that uses Prisma ORM to Render - [`Deploy to Render`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-render): Learn how to deploy a Node.js server that uses Prisma ORM to Render. - [`Deploy to Sevalla`](https://www.prisma.io/docs/orm/prisma-client/deployment/traditional/deploy-to-sevalla): Learn how to deploy a Node.js server that uses Prisma ORM to Sevalla - [`Deploy to Sevalla`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional/deploy-to-sevalla): Learn how to deploy a Node.js server that uses Prisma ORM to Sevalla. - [`Deploy to Vercel`](https://www.prisma.io/docs/orm/prisma-client/deployment/serverless/deploy-to-vercel): Learn how to deploy a Next.js application based on Prisma Client to Vercel - [`Deploy to Vercel`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/serverless/deploy-to-vercel): Learn how to deploy a Next.js application based on Prisma Client to Vercel. - [`Deploy to Vercel Edge Functions & Middleware`](https://www.prisma.io/docs/orm/prisma-client/deployment/edge/deploy-to-vercel): Learn the things you need to know in order to deploy an Edge function that uses Prisma Client for talking to a database - [`Deploy to Vercel Edge Functions & Middleware`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/edge/deploy-to-vercel): Learn the things you need to know in order to deploy an Edge function that uses Prisma Client for talking to a database. - [`Deploying database changes with Prisma Migrate`](https://www.prisma.io/docs/orm/prisma-client/deployment/deploy-database-changes-with-prisma-migrate): Learn how to deploy database changes with Prisma Migrate - [`Deploying database changes with Prisma Migrate`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/deploy-database-changes-with-prisma-migrate): Learn how to deploy database changes with Prisma Migrate. - [`Deploying edge functions with Prisma ORM`](https://www.prisma.io/docs/orm/prisma-client/deployment/edge/overview): Learn how to deploy your Prisma-backed apps to edge functions like Cloudflare Workers or Vercel Edge Functions - [`Deploying edge functions with Prisma ORM`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/edge/overview): Learn how to deploy your Prisma-backed apps to edge functions like Cloudflare Workers or Vercel Edge Functions - [`Dev environment`](https://www.prisma.io/docs/orm/more/dev-environment): Set up your local Prisma ORM development environment, including editor tooling and environment variables. - [`Development and production`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/development-and-production): How to use Prisma Migrate commands in development and production environments - [`Development and production`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/development-and-production): Development and production - [`Drizzle`](https://www.prisma.io/docs/orm/more/comparisons/prisma-and-drizzle): Learn how Prisma ORM compares to Drizzle - [`Drizzle`](https://www.prisma.io/docs/orm/v6/more/comparisons/prisma-and-drizzle): Learn how Prisma ORM compares to Drizzle. - [`Edge functions`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/edge): Learn how to deploy your Prisma ORM-backed apps to edge functions like Cloudflare Workers or Vercel Edge Functions - [`Editor setup`](https://www.prisma.io/docs/orm/more/dev-environment/editor-setup): Learn how to configure your editor and IDEs for an optimal developer experience with Prisma ORM - [`Editor setup`](https://www.prisma.io/docs/orm/v6/more/dev-environment/editor-setup): Learn how to configure your editor and IDEs for an optimal developer experience with Prisma ORM. - [`Engines`](https://www.prisma.io/docs/orm/v6/more/internals/engines): Prisma's query engine manages the communication with the database when using Prisma ORM. Learn how it works on this page. - [`Environment variables`](https://www.prisma.io/docs/orm/more/dev-environment/environment-variables): Learn how to manage environment variables in your Prisma ORM project - [`Environment variables`](https://www.prisma.io/docs/orm/v6/more/dev-environment/environment-variables): Learn how to manage environment variables in your Prisma ORM project - [`Environment Variables`](https://www.prisma.io/docs/orm/reference/environment-variables-reference): Reference for Prisma environment variables - [`Environment variables reference`](https://www.prisma.io/docs/orm/v6/reference/environment-variables-reference): This page gives an overview of all environment variables available for use. - [`Error message reference`](https://www.prisma.io/docs/orm/v6/reference/error-reference): Prisma Client, Migrate, Introspection error message reference - [`Error Reference`](https://www.prisma.io/docs/orm/reference/error-reference): Prisma Client, Migrate, and Introspection error codes - [`Excluding fields`](https://www.prisma.io/docs/orm/prisma-client/queries/excluding-fields): Learn how to exclude fields from Prisma Client results with the omit option. - [`Excluding fields`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/excluding-fields): This page explains how to exclude sensitive fields from Prisma Client - [`Extensions`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions): Extend the functionality of Prisma Client - [`External tables`](https://www.prisma.io/docs/orm/prisma-schema/data-model/externally-managed-tables): How to declare and use externally managed tables in Prisma ORM - [`External tables`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/externally-managed-tables): How to declare and use externally managed tables in Prisma ORM - [`Fields & types`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types): Learn how to use about special fields and types with Prisma Client - [`Fields & types`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types): Learn how to use about special fields and types with Prisma Client. - [`Filtering and sorting`](https://www.prisma.io/docs/orm/prisma-client/queries/filtering-and-sorting): Learn how to filter Prisma Client queries with where and sort results with orderBy. - [`Filtering and Sorting`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/filtering-and-sorting): Use Prisma Client API to filter records by any combination of fields or related record fields, and/or sort query results. - [`Fine-Grained Authorization (Permit)`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/shared-extensions/permit-rbac): Learn how to implement RBAC, ABAC, and ReBAC authorization in your Prisma applications - [`Fine-Grained Authorization (Permit)`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/shared-extensions/permit-rbac): Learn how to implement RBAC, ABAC, and ReBAC authorization in your Prisma applications - [`From v1`](https://www.prisma.io/docs/orm/v6/more/upgrades/from-v1): Upgrading your project from Prisma 1 to Prisma ORM 2 and later - [`Full-text search`](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search): Learn how to search text fields with Prisma Client using your database's native full-text search support. - [`Full-text search`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/full-text-search): This page explains how to search for text within a field. - [`Fullstack`](https://www.prisma.io/docs/orm/v6/overview/prisma-in-your-stack/fullstack): This page gives explains how to build fullstack applications with Prisma. It shows how Prisma fits in with fullstack frameworks and provides practical examples - [`Generating down migrations`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/generating-down-migrations): How to generate a down migration SQL file that reverses a given migration file - [`Generating down migrations`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/generating-down-migrations): How to generate down migrations - [`Generating Prisma Client`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/generating-prisma-client): Learn when and how to run prisma generate, configure the generator output, and import the generated client in your app. - [`Generating Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/generating-prisma-client): This page explains how to generate Prisma Client. It also provides additional context on the generated client, typical workflows and Node.js configuration. - [`Generators`](https://www.prisma.io/docs/orm/prisma-schema/overview/generators): Generators in your Prisma schema specify what assets are generated when the `prisma generate` command is invoked. This page explains how to configure generators - [`Generators`](https://www.prisma.io/docs/orm/v6/prisma-schema/overview/generators): Generators in your Prisma schema specify what assets are generated when the `prisma generate` command is invoked. This page explains how to configure generators. - [`Getting started with Prisma Migrate`](https://www.prisma.io/docs/orm/prisma-migrate/getting-started): Learn how to migrate your schema in a development environment using Prisma Migrate - [`Getting started with Prisma Migrate`](https://www.prisma.io/docs/orm/v6/prisma-migrate/getting-started): Learn how to migrate your schema in a development environment using Prisma Migrate. - [`GitHub Copilot`](https://www.prisma.io/docs/orm/v6/more/ai-tools/github-copilot): Learn about the features available with GitHub Copilot and Prisma ORM, plus best practices and tips. - [`GraphQL`](https://www.prisma.io/docs/orm/v6/overview/prisma-in-your-stack/graphql): This page gives explains how to build GraphQL servers with Prisma ORM. It shows how Prisma ORM fits into the GraphQL ecosystem and provides practical examples. - [`GraphQL autocompletion`](https://www.prisma.io/docs/orm/more/troubleshooting/graphql-autocompletion): Get autocompletion for Prisma Client queries in GraphQL resolvers with plain JavaScript - [`GraphQL autocompletion`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/graphql-autocompletion): Get autocompletion for Prisma Client queries in GraphQL resolvers with plain JavaScript - [`Handling exceptions and errors`](https://www.prisma.io/docs/orm/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors): This page covers how to handle exceptions and errors - [`Handling exceptions and errors`](https://www.prisma.io/docs/orm/v6/prisma-client/debugging-and-troubleshooting/handling-exceptions-and-errors): This page covers how to handle exceptions and errors - [`How to use Prisma ORM's type system`](https://www.prisma.io/docs/orm/prisma-client/type-safety/prisma-type-system): How to use Prisma ORM's type system - [`How to use Prisma ORM's type system`](https://www.prisma.io/docs/orm/v6/prisma-client/type-safety/prisma-type-system): How to use Prisma ORM's type system - [`Indexes`](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes): How to configure index functionality and add full text indexes - [`Indexes`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/indexes): How to configure index functionality and add full text indexes - [`Instantiating Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/instantiate-prisma-client): How to create and use an instance of PrismaClient in your app. - [`Integration testing`](https://www.prisma.io/docs/orm/prisma-client/testing/integration-testing): Learn how to setup and run integration tests with Prisma and Docker - [`Integration testing`](https://www.prisma.io/docs/orm/v6/prisma-client/testing/integration-testing): Learn how to setup and run integration tests with Prisma and Docker - [`Introduction to Prisma Client`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/introduction): Learn how to set up and configure Prisma Client in your project - [`Introduction to Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/introduction): Learn how to set up Prisma Client. - [`Is Prisma ORM an ORM?`](https://www.prisma.io/docs/orm/v6/overview/prisma-in-your-stack/is-prisma-an-orm): Learn about how Prisma ORM implements the Data Mapper ORM pattern and how it achieves the same goal as traditional ORMs without requiring you to map classes to tables as traditional ORMs do. - [`Legacy Prisma Migrate`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/legacy-migrate): Legacy Prisma Migrate is a declarative data modeling and schema migration tool that is available via the Prisma CLI. - [`Limitations and known issues`](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues): - [`Limitations and known issues`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/limitations-and-known-issues): Learn about current limitations and known issues with Prisma Migrate, including database provider constraints and migration file compatibility. - [`Logging`](https://www.prisma.io/docs/orm/prisma-client/observability-and-logging/logging): Learn how to configure Prisma Client to log the raw SQL queries it sends to the database and other information - [`Logging`](https://www.prisma.io/docs/orm/v6/prisma-client/observability-and-logging/logging): Learn how to configure Prisma Client to log the raw SQL queries it sends to the database and other information. - [`Many-to-many relations`](https://www.prisma.io/docs/orm/more/troubleshooting/many-to-many-relations): Learn how to model, query, and convert many-to-many relations with Prisma ORM - [`Many-to-many relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations): How to define and work with many-to-many relations in Prisma. - [`Many-to-many relations`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/many-to-many-relations): Learn how to model, query, and convert many-to-many relations with Prisma ORM - [`Many-to-many relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/many-to-many-relations): How to define and work with many-to-many relations in Prisma. - [`Mental model`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/mental-model): A mental model guide for working with Prisma Migrate in your project - [`Metrics`](https://www.prisma.io/docs/orm/v6/prisma-client/observability-and-logging/metrics): Diagnose application performance with insights into Prisma Client database activity. - [`Microsoft SQL Server`](https://www.prisma.io/docs/orm/v6/overview/databases/sql-server): This page explains how Prisma can connect to a Microsoft SQL Server database using the Microsoft SQL Server database connector. - [`Migration histories`](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/migration-histories): How Prisma ORM uses migration histories to track changes to your schema - [`Models`](https://www.prisma.io/docs/orm/prisma-schema/data-model/models): Learn about the concepts for building your data model with Prisma: Models, scalar types, enums, attributes, functions, IDs, default values and more - [`Models`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/models): Learn about the concepts for building your data model with Prisma: Models, scalar types, enums, attributes, functions, IDs, default values and more. - [`Module bundlers`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/module-bundlers): This page gives an overview of the most important things to be aware of when using a module bundler to bundle an application that uses Prisma Client. - [`MongoDB`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/mongodb): Add Prisma ORM to an existing TypeScript project with MongoDB and learn database introspection and querying - [`MongoDB`](https://www.prisma.io/docs/prisma-orm/quickstart/mongodb): Create a new TypeScript project from scratch by connecting Prisma ORM to MongoDB and generating a Prisma Client for database access - [`MongoDB`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/mongodb): How Prisma ORM connects to MongoDB databases - [`Mongoose`](https://www.prisma.io/docs/orm/more/comparisons/prisma-and-mongoose): Learn how Prisma ORM compares to Mongoose - [`Mongoose`](https://www.prisma.io/docs/orm/v6/more/comparisons/prisma-and-mongoose): Learn how Prisma ORM compares to Mongoose. - [`Multi-schema`](https://www.prisma.io/docs/orm/prisma-schema/data-model/multi-schema): How to use Prisma ORM with multiple database schemas - [`Multi-schema`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/multi-schema): How to use Prisma ORM with multiple database schemas - [`MySQL`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/mysql): Add Prisma ORM to an existing TypeScript project with MySQL and learn database introspection, baselining, and querying - [`MySQL`](https://www.prisma.io/docs/prisma-orm/quickstart/mysql): Create a new TypeScript project from scratch by connecting Prisma ORM to MySQL and generating a Prisma Client for database access - [`MySQL`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/mysql): Use Prisma ORM with MySQL databases including self-hosted MySQL/MariaDB and serverless PlanetScale - [`MySQL/MariaDB`](https://www.prisma.io/docs/orm/v6/overview/databases/mysql): This page explains how Prisma can connect to a MySQL or MariaDB database using the MySQL database connector. - [`Native database functions`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/native-database-functions): How to enable PostgreSQL native database functions for projects that use Prisma Migrate. - [`Native database functions`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/native-database-functions): How to enable PostgreSQL native database functions for projects that use Prisma Migrate. - [`Native database types`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/native-database-types): Native database types - [`Native database types`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/native-database-types): Native database types - [`Neon`](https://www.prisma.io/docs/orm/v6/overview/databases/neon): Learn how to use Prisma ORM with Neon serverless PostgreSQL - [`Next.js`](https://www.prisma.io/docs/orm/more/troubleshooting/nextjs): Best practices and troubleshooting for using Prisma ORM with Next.js applications - [`Next.js`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/nextjs): Best practices and troubleshooting for using Prisma ORM with Next.js applications. - [`No Rust engine`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/no-rust-engine): Learn how to use Prisma ORM without Rust engines - [`Null and undefined`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/null-and-undefined): How Prisma Client handles null and undefined - [`Null and undefined`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types/null-and-undefined): How Prisma Client handles null and undefined - [`Nuxt`](https://www.prisma.io/docs/orm/more/troubleshooting/nuxt): Learn how to integrate Prisma ORM with your Nuxt application - [`Nuxt`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/nuxt): Learn how to integrate Prisma ORM with your Nuxt application. - [`Older versions`](https://www.prisma.io/docs/orm/v6/more/upgrades/older-versions): Upgrade guides for Prisma ORM versions 3, 4, 5, and 6 - [`One-to-many relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/one-to-many-relations): How to define and work with one-to-many relations in Prisma. - [`One-to-many relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/one-to-many-relations): How to define and work with one-to-many relations in Prisma. - [`One-to-one relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/one-to-one-relations): How to define and work with one-to-one relations in Prisma. - [`One-to-one relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/one-to-one-relations): How to define and work with one-to-one relations in Prisma. - [`OpenTelemetry tracing`](https://www.prisma.io/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing): Diagnose application performance with detailed traces of each query - [`OpenTelemetry tracing`](https://www.prisma.io/docs/orm/v6/prisma-client/observability-and-logging/opentelemetry-tracing): Diagnose application performance with detailed traces of each query. - [`Operating against partial structures of your model types`](https://www.prisma.io/docs/orm/prisma-client/type-safety/operating-against-partial-structures-of-model-types): This page documents various scenarios for using the generated types from the Prisma namespace - [`Operating against partial structures of your model types`](https://www.prisma.io/docs/orm/v6/prisma-client/type-safety/operating-against-partial-structures-of-model-types): This page documents various scenarios for using the generated types from the Prisma namespace - [`ORM releases and maturity levels`](https://www.prisma.io/docs/orm/more/releases): Learn about the release process, versioning, and maturity of Prisma ORM components and how to deal with breaking changes that might happen throughout releases - [`ORM releases and maturity levels`](https://www.prisma.io/docs/orm/v6/more/releases): Learn about the release process, versioning, and maturity of Prisma ORM components and how to deal with breaking changes that might happen throughout releases. - [`Overview`](https://www.prisma.io/docs/orm/core-concepts/supported-databases): Prisma ORM supports PostgreSQL, MySQL, SQLite, MongoDB, SQL Server, CockroachDB, and serverless databases - [`Overview of Prisma Migrate`](https://www.prisma.io/docs/orm/prisma-migrate): Learn everything you need to know about Prisma Migrate - [`Overview of Prisma Schema`](https://www.prisma.io/docs/orm/prisma-schema/overview): The Prisma schema is the main method of configuration when using Prisma. It is typically called schema.prisma and contains your database connection and data model - [`Overview on Prisma Migrate`](https://www.prisma.io/docs/orm/v6/prisma-migrate/understanding-prisma-migrate/overview): Learn everything you need to know about Prisma Migrate. - [`Overview on Prisma Schema`](https://www.prisma.io/docs/orm/v6/prisma-schema/overview): The Prisma schema is the main method of configuration when using Prisma. It is typically called schema.prisma and contains your database connection and data model. - [`Pagination`](https://www.prisma.io/docs/orm/prisma-client/queries/pagination): Learn how to paginate Prisma Client query results with offset pagination and cursor-based pagination. - [`Pagination`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/pagination): Prisma Client supports both offset pagination and cursor-based pagination. Learn more about the pros and cons of different pagination approaches and how to implement them. - [`Patching & hotfixing`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/patching-and-hotfixing): How to reconcile the migration history after applying a hotfix or patch to a production environment. - [`Patching & hotfixing`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/patching-and-hotfixing): How to reconcile the migration history after applying a hotfix or patch to a production environment. - [`PlanetScale`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/planetscale): Add Prisma ORM to an existing TypeScript project with PlanetScale and learn database introspection and querying - [`PlanetScale`](https://www.prisma.io/docs/prisma-orm/quickstart/planetscale): Create a new TypeScript project from scratch by connecting Prisma ORM to PlanetScale and generating a Prisma Client for database access - [`PlanetScale`](https://www.prisma.io/docs/orm/v6/overview/databases/planetscale): Guide to PlanetScale - [`PostgreSQL`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/postgresql): Add Prisma ORM to an existing TypeScript project with PostgreSQL and learn database introspection, baselining, and querying - [`PostgreSQL`](https://www.prisma.io/docs/prisma-orm/quickstart/postgresql): Create a new TypeScript project from scratch by connecting Prisma ORM to PostgreSQL and generating a Prisma Client for database access - [`PostgreSQL`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/postgresql): Use Prisma ORM with PostgreSQL databases including self-hosted, serverless (Neon, Supabase), and CockroachDB - [`PostgreSQL`](https://www.prisma.io/docs/orm/v6/overview/databases/postgresql): This page explains how Prisma can connect to a PostgreSQL database using the PostgreSQL database connector. - [`PostgreSQL extensions`](https://www.prisma.io/docs/orm/prisma-schema/postgresql-extensions): How to install and manage PostgreSQL extensions with Prisma ORM using customized migrations, and how to use them in Prisma Client - [`PostgreSQL extensions`](https://www.prisma.io/docs/orm/v6/prisma-schema/postgresql-extensions): How to install and manage PostgreSQL extensions with Prisma ORM using customized migrations, and how to use them in Prisma Client. - [`Preview features`](https://www.prisma.io/docs/orm/v6/more/upgrades/preview-features): Upgrading your project to use a Preview feature. - [`Preview features`](https://www.prisma.io/docs/orm/v6/reference/preview-features): Previews are typically available behind a feature flag or require some form of opt-in. - [`Prisma CLI`](https://www.prisma.io/docs/orm/v6/tools/prisma-cli): The Prisma command line interface (CLI) is the primary way to interact with your Prisma project from the command line. - [`Prisma CLI Preview features`](https://www.prisma.io/docs/orm/reference/preview-features/cli-preview-features): Prisma CLI features that are currently in Preview. - [`Prisma CLI Preview features`](https://www.prisma.io/docs/orm/v6/reference/preview-features/cli-preview-features): Prisma CLI features that are currently in Preview. - [`Prisma CLI reference`](https://www.prisma.io/docs/orm/reference/prisma-cli-reference): This page gives an overview of all available Prisma CLI commands, explains their options and shows numerous usage examples - [`Prisma CLI reference`](https://www.prisma.io/docs/orm/v6/reference/prisma-cli-reference): This page gives an overview of all available Prisma CLI commands, explains their options and shows numerous usage examples. - [`Prisma Client`](https://www.prisma.io/docs/orm/prisma-client): Prisma Client is Prisma ORM's generated, type-safe query builder for Node.js, Bun, and Deno applications. - [`Prisma Client & Prisma schema`](https://www.prisma.io/docs/orm/reference/preview-features/client-preview-features): Prisma Client and Prisma schema features that are currently in Preview - [`Prisma Client & Prisma schema`](https://www.prisma.io/docs/orm/v6/reference/preview-features/client-preview-features): Prisma Client and Prisma schema features that are currently in Preview. - [`Prisma Client API`](https://www.prisma.io/docs/orm/reference/prisma-client-reference): Complete API reference for Prisma Client queries and operations - [`Prisma Client API reference`](https://www.prisma.io/docs/orm/v6/reference/prisma-client-reference): API reference documentation for Prisma Client. - [`Prisma Config reference`](https://www.prisma.io/docs/orm/v6/reference/prisma-config-reference): This page gives an overview of all Prisma config options available for use. - [`Prisma Error Reference`](https://www.prisma.io/docs/orm/reference/errors): Common Prisma ORM errors and how to troubleshoot them - [`Prisma Error Reference`](https://www.prisma.io/docs/orm/v6/reference/errors): Common Prisma ORM errors and how to troubleshoot them. - [`Prisma ORM`](https://www.prisma.io/docs/orm): Prisma ORM is a next-generation Node.js and TypeScript ORM that provides type-safe database access, migrations, and a visual data editor. - [`Prisma ORM`](https://www.prisma.io/docs/orm/v6): Learn about Prisma ORM - [`Prisma ORM MongoDB database connector`](https://www.prisma.io/docs/orm/v6/overview/databases/mongodb): How Prisma can connect to a MongoDB database using the MongoDB database connector. - [`Prisma Postgres`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/prisma-postgres): Add Prisma ORM to an existing TypeScript project with Prisma Postgres and learn database introspection, baselining, and querying - [`Prisma Postgres`](https://www.prisma.io/docs/prisma-orm/quickstart/prisma-postgres): Create a new TypeScript project from scratch by connecting Prisma ORM to Prisma Postgres and generating a Prisma Client for database access - [`Prisma schema reference`](https://www.prisma.io/docs/orm/v6/reference/prisma-schema-reference): API reference documentation for the Prisma Schema Language (PSL). - [`Prisma Studio`](https://www.prisma.io/docs/orm/v6/tools/prisma-studio): Prisma Studio is a visual database editor. - [`Prisma validator`](https://www.prisma.io/docs/orm/v6/prisma-client/type-safety/prisma-validator): The Prisma validator is a utility function that takes a generated type and returns a type-safe object which adheres to the generated types model fields. - [`Prototyping your schema`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/prototyping-your-schema): Rapidly prototype your Prisma schema using db push without migrations - [`Prototyping your schema`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/prototyping-your-schema): Prototyping your schema - [`Query optimization`](https://www.prisma.io/docs/orm/prisma-client/queries/advanced/query-optimization-performance): How to identify and optimize query performance with Prisma - [`Query optimization`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/query-optimization-performance): How to identify and optimize query performance with Prisma - [`Raw queries`](https://www.prisma.io/docs/orm/prisma-client/using-raw-sql/raw-queries): Learn how you can send raw SQL and MongoDB queries to your database using the raw() methods from the Prisma Client API - [`Raw queries`](https://www.prisma.io/docs/orm/v6/prisma-client/using-raw-sql/raw-queries): Learn how you can send raw SQL and MongoDB queries to your database using the raw() methods from the Prisma Client API. - [`Raw SQL comparisons`](https://www.prisma.io/docs/orm/more/troubleshooting/raw-sql-comparisons): Compare columns of the same table with raw queries in Prisma ORM - [`Raw SQL comparisons`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/raw-sql-comparisons): Compare columns of the same table with raw queries in Prisma ORM - [`Read replicas`](https://www.prisma.io/docs/orm/prisma-client/setup-and-configuration/read-replicas): Learn how to set up and use read replicas with Prisma Client - [`Read replicas`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/read-replicas): Learn how to set up and use read replicas with Prisma Client - [`Referential actions`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/referential-actions): Referential actions let you define the update and delete behavior of related models on the database level - [`Referential actions`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/referential-actions): Referential actions let you define the update and delete behavior of related models on the database level - [`Relation mode`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/relation-mode): Manage relations between records with relation modes in Prisma - [`Relation mode`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/relation-mode): Manage relations between records with relation modes in Prisma - [`Relation queries`](https://www.prisma.io/docs/orm/prisma-client/queries/relation-queries): Prisma Client provides convenient queries for working with relations, such as a fluent API, nested writes (transactions), nested reads and relation filters - [`Relation queries`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/relation-queries): Prisma Client provides convenient queries for working with relations, such as a fluent API, nested writes (transactions), nested reads and relation filters. - [`Relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations): A relation is a connection between two models in the Prisma schema. This page explains how you can define one-to-one, one-to-many and many-to-many relations in Prisma - [`Relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations): A relation is a connection between two models in the Prisma schema. This page explains how you can define one-to-one, one-to-many and many-to-many relations in Prisma. - [`REST`](https://www.prisma.io/docs/orm/v6/overview/prisma-in-your-stack/rest): This page gives an overview of the most important things when building REST APIs with Prisma. It shows practical examples and the supported libraries. - [`SafeQL & Prisma Client`](https://www.prisma.io/docs/orm/prisma-client/using-raw-sql/safeql): Learn how to use SafeQL and Prisma Client extensions to work around features not natively supported by Prisma, such as PostGIS - [`SafeQL & Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/using-raw-sql/safeql): Learn how to use SafeQL and Prisma Client extensions to work around features not natively supported by Prisma, such as PostGIS. - [`Schema API`](https://www.prisma.io/docs/orm/reference/prisma-schema-reference): Reference for Prisma Schema Language (PSL) - [`Schema location`](https://www.prisma.io/docs/orm/prisma-schema/overview/location): Documentation regarding proper location of Prisma Schema including default naming and multiple files. - [`Schema location`](https://www.prisma.io/docs/orm/v6/prisma-schema/overview/location): Documentation regarding proper location of Prisma Schema including default naming and multiple files. - [`Seeding`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/seeding): Learn how to seed your database using Prisma ORM's integrated seeding functionality and Prisma Client - [`Seeding`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/seeding): Learn how to seed your database using Prisma ORM's integrated seeding functionality and Prisma Client - [`Select fields`](https://www.prisma.io/docs/orm/prisma-client/queries/select-fields): Learn how to return only the fields and relations you need with select and include in Prisma Client. - [`Select fields`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/select-fields): This page explains how to select only a subset of a model's fields and/or include relations ("eager loading") in a Prisma Client query. - [`Self-relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/self-relations): How to define and work with self-relations in Prisma. - [`Self-relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/self-relations): How to define and work with self-relations in Prisma. - [`Sequelize`](https://www.prisma.io/docs/orm/more/comparisons/prisma-and-sequelize): Learn how Prisma ORM compares to Sequelize - [`Sequelize`](https://www.prisma.io/docs/orm/v6/more/comparisons/prisma-and-sequelize): Learn how Prisma ORM compares to Sequelize. - [`Serverless functions`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/serverless): Learn how to deploy your Prisma ORM-backed apps to FaaS providers like AWS Lambda, Netlify, or Vercel Serverless Functions - [`Shared packages & examples`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/extension-examples): Explore the Prisma Client extensions that have been built by Prisma and its community - [`Shared packages & examples`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/extension-examples): Explore the Prisma Client extensions that have been built by Prisma and its community - [`Shared Prisma Client extensions`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/shared-extensions): Share extensions or import shared extensions into your Prisma project - [`Shared Prisma Client extensions`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/shared-extensions): Share extensions or import shared extensions into your Prisma project - [`Should you use Prisma ORM?`](https://www.prisma.io/docs/orm/v6/overview/introduction/should-you-use-prisma): Prisma ORM is a new kind of ORM. This page explains when Prisma ORM would be a good fit, and provides alternatives for other scenarios. - [`Special rules for referential actions in SQL Server and MongoDB`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/referential-actions/special-rules-for-referential-actions): Circular references or multiple cascade paths can cause validation errors on Microsoft SQL Server and MongoDB. Since the database does not handle these situations out of the box, learn how to solve this problem. - [`SQL comments`](https://www.prisma.io/docs/orm/prisma-client/observability-and-logging/sql-comments): Add metadata to your SQL queries as comments for improved observability, debugging, and tracing - [`SQL comments`](https://www.prisma.io/docs/orm/v6/prisma-client/observability-and-logging/sql-comments): Add metadata to your SQL queries as comments for improved observability, debugging, and tracing. - [`SQL Server`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/sql-server): Add Prisma ORM to an existing TypeScript project with SQL Server and learn database introspection, baselining, and querying - [`SQL Server`](https://www.prisma.io/docs/prisma-orm/quickstart/sql-server): Create a new TypeScript project from scratch by connecting Prisma ORM to SQL Server and generating a Prisma Client for database access - [`SQL Server`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/sql-server): Use Prisma ORM with Microsoft SQL Server databases - [`SQL Server on Docker`](https://www.prisma.io/docs/orm/v6/overview/databases/sql-server/sql-server-docker): Download and use the Microsoft SQL Server Docker image. - [`SQL Server on Windows (local)`](https://www.prisma.io/docs/orm/v6/overview/databases/sql-server/sql-server-local): Set up and configure SQL Server on Windows. - [`SQLite`](https://www.prisma.io/docs/prisma-orm/add-to-existing-project/sqlite): Add Prisma ORM to an existing TypeScript project with SQLite and learn database introspection, baselining, and querying - [`SQLite`](https://www.prisma.io/docs/prisma-orm/quickstart/sqlite): Create a new TypeScript project from scratch by connecting Prisma ORM to SQLite and generating a Prisma Client for database access - [`SQLite`](https://www.prisma.io/docs/orm/core-concepts/supported-databases/sqlite): Use Prisma ORM with SQLite databases including local SQLite, Turso (libSQL), and Cloudflare D1 - [`SQLite`](https://www.prisma.io/docs/orm/v6/overview/databases/sqlite): This page explains how Prisma can connect to a SQLite database using the SQLite database connector. - [`Squashing migrations`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/squashing-migrations): How to squash multiple migration files into a single migration - [`Squashing migrations`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/squashing-migrations): How to squash multiple migration files into a single migration - [`Supabase`](https://www.prisma.io/docs/orm/v6/overview/databases/supabase): Learn how to use Prisma ORM with Supabase PostgreSQL - [`Supported databases`](https://www.prisma.io/docs/orm/reference/supported-databases): This page lists all the databases and their versions that are supported by Prisma ORM - [`Supported databases`](https://www.prisma.io/docs/orm/v6/reference/supported-databases): This page lists all the databases and their versions that are supported by Prisma ORM. - [`System requirements`](https://www.prisma.io/docs/orm/reference/system-requirements): System requirements for running Prisma ORM - [`System requirements`](https://www.prisma.io/docs/orm/v6/reference/system-requirements): System requirements for running Prisma ORM - [`Table inheritance`](https://www.prisma.io/docs/orm/prisma-schema/data-model/table-inheritance): Learn about the use cases and patterns for table inheritance in Prisma ORM that enable usage of union types or polymorphic structures in your application. - [`Table inheritance`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/table-inheritance): Learn about the use cases and patterns for table inheritance in Prisma ORM that enable usage of union types or polymorphic structures in your application. - [`Tabnine`](https://www.prisma.io/docs/orm/v6/more/ai-tools/tabnine): Learn tips and best practices for using Prisma ORM with the Tabnine AI code editor. - [`Team development`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/team-development): How to use Prisma Migrate when collaborating on a project as a team. - [`Testing`](https://www.prisma.io/docs/orm/v6/prisma-client/testing): How to implement unit and integration testing with Prisma ORM - [`To v7`](https://www.prisma.io/docs/orm/v6/more/upgrades/to-v7): Guide on how to upgrade to Prisma ORM 7 - [`Traditional servers`](https://www.prisma.io/docs/orm/v6/prisma-client/deployment/traditional): Learn how to deploy your Prisma-backed apps to PaaS providers like Heroku, Koyeb, or AWS EC2 - [`Transactions and batch queries`](https://www.prisma.io/docs/orm/prisma-client/queries/transactions): This page explains the transactions API of Prisma Client - [`Transactions and batch queries`](https://www.prisma.io/docs/orm/v6/prisma-client/queries/transactions): This page explains the transactions API of Prisma Client. - [`Troubleshooting`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/troubleshooting): Troubleshooting issues with Prisma Migrate in a development environment. - [`Troubleshooting`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/troubleshooting): Troubleshooting issues with Prisma Migrate in a development environment. - [`Troubleshooting binary size and deployment issues`](https://www.prisma.io/docs/orm/v6/prisma-client/debugging-and-troubleshooting/troubleshooting-binary-size-issues): This page covers how to resolve large bundle sizes, slow builds, and deployment errors caused by Prisma ORM Rust engine binaries - [`Troubleshooting relations`](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/troubleshooting-relations): - [`Troubleshooting relations`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/relations/troubleshooting-relations): Common problems and solutions when defining relations in the Prisma schema, including self-relations and implicit many-to-many relations. - [`Turso`](https://www.prisma.io/docs/orm/v6/overview/databases/turso): Learn how to use Prisma ORM with Turso SQLite - [`Type safety`](https://www.prisma.io/docs/orm/v6/prisma-client/type-safety): Prisma Client provides full type safety for queries, even for partial queries or included relations. This page explains how to leverage the generated types and utilities. - [`Type safety Overview`](https://www.prisma.io/docs/orm/prisma-client/type-safety): Prisma Client provides full type safety for queries, even for partial queries or included relations. This page explains how to leverage the generated types and utilities - [`Type utilities`](https://www.prisma.io/docs/orm/prisma-client/client-extensions/type-utilities): Advanced type safety: improve type safety in your custom model methods - [`Type utilities`](https://www.prisma.io/docs/orm/v6/prisma-client/client-extensions/type-utilities): Advanced type safety: improve type safety in your custom model methods - [`TypedSQL`](https://www.prisma.io/docs/orm/prisma-client/using-raw-sql/typedsql): Learn how to use TypedSQL to write fully type-safe SQL queries that are compatible with any SQL console and Prisma Client - [`TypedSQL`](https://www.prisma.io/docs/orm/v6/prisma-client/using-raw-sql/typedsql): Learn how to use TypedSQL to write fully type-safe SQL queries that are compatible with any SQL console and Prisma Client. - [`TypeORM`](https://www.prisma.io/docs/orm/more/comparisons/prisma-and-typeorm): Learn how Prisma compares to TypeORM - [`TypeORM`](https://www.prisma.io/docs/orm/v6/more/comparisons/prisma-and-typeorm): Learn how Prisma compares to TypeORM. - [`TypeScript performance`](https://www.prisma.io/docs/orm/more/troubleshooting/typescript-performance): Optimize TypeScript compilation performance when working with large Prisma schemas - [`TypeScript performance`](https://www.prisma.io/docs/orm/v6/more/troubleshooting/typescript-performance): Optimize TypeScript compilation performance when working with large Prisma schemas - [`Understanding Migrations`](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/mental-model): A mental model guide for working with Prisma Migrate in your project - [`Unit testing`](https://www.prisma.io/docs/orm/prisma-client/testing/unit-testing): Learn how to setup and run unit tests with Prisma Client - [`Unit testing`](https://www.prisma.io/docs/orm/v6/prisma-client/testing/unit-testing): Learn how to setup and run unit tests with Prisma Client - [`Unsupported database features (Prisma Migrate)`](https://www.prisma.io/docs/orm/prisma-migrate/workflows/unsupported-database-features): How to include unsupported database features for projects that use Prisma Migrate - [`Unsupported database features (Prisma Migrate)`](https://www.prisma.io/docs/orm/v6/prisma-migrate/workflows/unsupported-database-features): How to include unsupported database features for projects that use Prisma Migrate. - [`Unsupported database features (Prisma Schema)`](https://www.prisma.io/docs/orm/prisma-schema/data-model/unsupported-database-features): How to support database features that do not have an equivalent syntax in Prisma Schema Language - [`Unsupported database features (Prisma Schema)`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/unsupported-database-features): How to support database features that do not have an equivalent syntax in Prisma Schema Language. - [`Views`](https://www.prisma.io/docs/orm/prisma-schema/data-model/views): How to include views in your Prisma schema - [`Views`](https://www.prisma.io/docs/orm/v6/prisma-schema/data-model/views): How to include views in your Prisma schema - [`What are Client Extensions`](https://www.prisma.io/docs/orm/prisma-client/client-extensions): Extend the functionality of Prisma Client - [`What is introspection?`](https://www.prisma.io/docs/orm/prisma-schema/introspection): Learn how you can introspect your database to generate a data model into your Prisma schema - [`What is introspection?`](https://www.prisma.io/docs/orm/v6/prisma-schema/introspection): Learn how you can introspect your database to generate a data model into your Prisma schema. - [`What is Prisma ORM?`](https://www.prisma.io/docs/orm/v6/overview/introduction/what-is-prisma): This page gives a high-level overview of what Prisma ORM is and how it works. It's a great starting point for Prisma newcomers! - [`Why Prisma ORM?`](https://www.prisma.io/docs/orm/v6/overview/introduction/why-prisma): Learn about the motivation for Prisma ORM and how it compares to other Node.js and TypeScript database tools like ORMs and SQL query builders. - [`Windsurf`](https://www.prisma.io/docs/orm/v6/more/ai-tools/windsurf): Learn tips and best practices for using Prisma ORM with the Windsurf AI code editor. - [`Working with compound IDs and unique constraints`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints): How to read, write, and filter by compound IDs and unique constraints - [`Working with compound IDs and unique constraints`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types/working-with-composite-ids-and-constraints): How to read, write, and filter by compound IDs and unique constraints. - [`Working with Json fields`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/working-with-json-fields): How to read, write, and filter by Json fields - [`Working with Json fields`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types/working-with-json-fields): How to read, write, and filter by Json fields. - [`Working with scalar lists`](https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays): How to read, write, and filter by scalar lists / arrays - [`Working with scalar lists`](https://www.prisma.io/docs/orm/v6/prisma-client/special-fields-and-types/working-with-scalar-lists-arrays): How to read, write, and filter by scalar lists / arrays. - [`Write your own SQL`](https://www.prisma.io/docs/orm/prisma-client/using-raw-sql): Learn how to use raw SQL queries in Prisma Client - [`Write your own SQL`](https://www.prisma.io/docs/orm/v6/prisma-client/using-raw-sql): Learn how to use raw SQL queries in Prisma Client.