# Native database types (Prisma ORM v7) (/docs/orm/v7/prisma-migrate/workflows/native-database-types) > For the complete Prisma documentation index, see [llms.txt](https://www.prisma.io/docs/llms.txt). A markdown version of any docs page is available by appending `.md` to its URL. Native database types Location: ORM > v7 > Prisma Migrate > Workflows > Native database types Prisma Migrate translates the model defined in your [Prisma schema](https://www.prisma.io/docs/orm/v7/prisma-schema/overview) into features in your database. ![A diagram that shows a Prisma schema on the left (labeled: Prisma schema, models) and a database on the right (labeled: Database, tables). Two parallel arrows connect the schema and the database, showing how '@unique' maps to 'UNIQUE' and '@id' maps to 'PRIMARY KEY'.](https://www.prisma.io/img/orm/prisma-migrate/understanding-prisma-migrate/migrate-mapping.png) Every¹ feature in your [data model](https://www.prisma.io/docs/orm/v7/prisma-schema/data-model/models) maps to a corresponding feature in the underlying database. **If you can define a feature in the Prisma schema, it is supported by Prisma Migrate.** For a complete list of Prisma schema features, refer to: * [Database features matrix](https://www.prisma.io/docs/orm/v7/reference/database-features) for a list of database features and what they map to in the Prisma schema. * [Prisma schema reference](https://www.prisma.io/docs/orm/v7/reference/prisma-schema-reference) for a list of all Prisma schema features, including field types, attributes, and functions. Prisma Migrate also supports mapping each field to a [specific native type](#mapping-fields-to-a-specific-native-type), and there are ways to [include features without a Prisma schema equivalent in your database](#handling-unsupported-database-features). > [!NOTE] > Comments and Prisma ORM-level functions (`uuid()` and `cuid()`) do not map to database features. ## Mapping fields to a specific native type [#mapping-fields-to-a-specific-native-type] Each Prisma ORM type maps to a default underlying database type - for example, the PostgreSQL connector maps `String` to `text` by default. [Native database type attributes](https://www.prisma.io/docs/orm/v7/prisma-schema/data-model/models#native-types-mapping) determines which *specific* native type should be created in the database. > [!NOTE] > Some Prisma ORM types only map to a single native type. In the following example, the `name` and `title` fields have a `@db.VarChar(X)` type attribute: ```prisma title="schema.prisma" highlight=8,14;normal datasource db { provider = "postgresql" } model User { id Int @id @default(autoincrement()) name String @db.VarChar(200) posts Post[] } model Post { id Int @id @default(autoincrement()) title String @db.VarChar(150) published Boolean @default(true) authorId Int author User @relation(fields: [authorId], references: [id]) } ``` Prisma Migrate uses the specified types when it creates a migration: ```sql title="migration.sql" highlight=4,10;normal -- CreateTable CREATE TABLE "User" ( "id" SERIAL, "name" VARCHAR(200) NOT NULL, PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Post" ( "id" SERIAL, "title" VARCHAR(150) NOT NULL, "published" BOOLEAN NOT NULL DEFAULT true, "authorId" INTEGER NOT NULL, PRIMARY KEY ("id") ); -- AddForeignKey ALTER TABLE "Post" ADD FOREIGN KEY("authorId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; ``` ### Mappings by Prisma ORM type [#mappings-by-prisma-orm-type] For type mappings organized by Prisma ORM type, refer to the [Prisma schema reference](https://www.prisma.io/docs/orm/v7/reference/prisma-schema-reference#model-field-scalar-types) documentation. ### Mappings by database provider [#mappings-by-database-provider] For type mappings organized by database provider, see: * [PostgreSQL mappings](https://www.prisma.io/docs/orm/v7/core-concepts/supported-databases/postgresql#prisma-to-postgresql) * [MySQL mappings](https://www.prisma.io/docs/orm/v7/core-concepts/supported-databases/mysql#type-mapping-between-mysql-and-prisma-schema) * [Microsoft SQL Server mappings](https://www.prisma.io/docs/orm/v7/core-concepts/supported-databases/sql-server#type-mappings) * [SQLite mappings](https://www.prisma.io/docs/orm/v7/core-concepts/supported-databases/sqlite#type-mappings) ## Handling unsupported database features [#handling-unsupported-database-features] Prisma Migrate cannot automatically create database features that have no equivalent in Prisma Schema Language (PSL). For example, there is currently no way to define a stored procedure or a trigger in PSL. However, there are ways to add unsupported features to your database with Prisma Migrate: * [Handle unsupported field types](https://www.prisma.io/docs/orm/v7/prisma-schema/data-model/unsupported-database-features#unsupported-field-types) (like `circle`) * [Handle unsupported features](https://www.prisma.io/docs/orm/v7/prisma-schema/data-model/unsupported-database-features#unsupported-database-features), like stored procedures * [How to use native database functions](https://www.prisma.io/docs/orm/v7/prisma-schema/data-model/unsupported-database-features#native-database-functions) ## Related pages - [`Baselining a database`](https://www.prisma.io/docs/orm/v7/prisma-migrate/workflows/baselining): How to initialize a migration history for an existing database that contains important data. - [`Customizing migrations`](https://www.prisma.io/docs/orm/v7/prisma-migrate/workflows/customizing-migrations): How to edit a migration file before applying it to avoid data loss in production. - [`Development and production`](https://www.prisma.io/docs/orm/v7/prisma-migrate/workflows/development-and-production): How to use Prisma Migrate commands in development and production environments - [`Generating down migrations`](https://www.prisma.io/docs/orm/v7/prisma-migrate/workflows/generating-down-migrations): How to generate a down migration SQL file that reverses a given migration file - [`Native database functions`](https://www.prisma.io/docs/orm/v7/prisma-migrate/workflows/native-database-functions): How to enable PostgreSQL native database functions for projects that use Prisma Migrate.