apps/docs/content/docs.v6/orm/prisma-schema/overview/data-sources.mdx
A data source determines how Prisma ORM connects to your database, and is represented by the datasource block in the Prisma schema. The following data source uses the postgresql provider and includes a connection URL:
::::note
As of Prisma ORM v7, the url, directUrl, and shadowDatabaseUrl fields in the Prisma schema datasource block are deprecated. Configure these fields in Prisma Config instead.
::::
datasource db {
provider = "postgresql"
url = "postgresql://johndoe:mypassword@localhost:5432/mydb?schema=public"
}
A Prisma schema can only have one data source. However, you can:
url when creating your PrismaClientNote: Multiple provider support was removed in 2.22.0. Please see Deprecation of provider array notation for more information.
Some data source providers allow you to configure your connection with SSL/TLS, and provide parameters for the url to specify the location of certificates.
Prisma ORM resolves SSL certificates relative to the ./prisma directory. If your certificate files are located outside that directory, e.g. your project root directory, use relative paths for certificates:
:::note
When you're using a multi-file Prisma schema, Prisma ORM resolves SSL certificates relative to the ./prisma/schema directory.
:::
datasource db {
provider = "postgresql"
url = "postgresql://johndoe:mypassword@localhost:5432/mydb?schema=public&sslmode=require&sslcert=../server-ca.pem&sslidentity=../client-identity.p12&sslpassword=<REDACTED>"
}