prisma/prisma (@prisma/client)
### [`v5.15.0`](https://togithub.com/prisma/prisma/releases/tag/5.15.0)
[Compare Source](https://togithub.com/prisma/prisma/compare/5.14.0...5.15.0)
Today, we are excited to share the `5.15.0` stable release 🎉
🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@prisma%20release%20v5.15.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.15.0) about the release.** 🌟
##### **Highlights**
##### Multi-File Prisma Schema support
Prisma ORM 5.15.0 features support for multi-file Prisma Schema in Preview.
This closes [a long standing issue](https://togithub.com/prisma/prisma/issues/2377) and does so in a clean and easy to migrate way.
To get started:
1. Enable the `prismaSchemaFolder` Preview feature by including it in the `previewFeatures` field of your `generator`.
```
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
previewFeatures = ["prismaSchemaFolder"]
}
```
2. Create a `schema` subdirectory under your `prisma` directory.
3. Move your `schema.prisma` into this directory.
You are now set up with a multi-file Prisma Schema! Add as many or as few `.prisma` files to the new `prisma/schema` directory.
When running commands where a Prisma Schema file is expected to be provided, you can now define a Prisma Schema directory. This includes Prisma CLI commands that use the `--schema` option as well as defining schema via `package.json`
Our tooling has also been updated to handle multiple Prisma Schema files. This includes our Visual Studio Code extension and tools like database introspection, which will deposit new models in a `introspected.prisma` file. Existing models will be updated in the file they are found.
To learn more, please refer to our official documentation and [announcement blog post](https://www.prisma.io/blog/organize-your-prisma-schema-with-multi-file-support). If you try out `prismaSchemaFolder`, please [let us know](https://togithub.com/prisma/prisma/discussions/24413)!
##### Interesting Bug Fixes
##### Fix for PostgreSQL prepared statement caching for raw queries
This release fixes a [nasty bug with the caching of prepared statements](https://togithub.com/prisma/prisma/issues/22482) in [raw Prisma Client queries](https://www.prisma.io/docs/orm/prisma-client/queries/raw-database-access/raw-queries) that affected PostgreSQL when you ran the same SQL statement with differently typed paramters. This should not fail any more.
##### Fix for SQL Server introspection of (deprecated) **`CREATE DEFAULT`**
Our Introspection logic [crashed](https://togithub.com/prisma/prisma/issues/24275) on encountering certain multi-line `CREATE DEFAULT`, a [deprecated way to define defaults in SQL Server](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-default-transact-sql?view=sql-server-ver15). As many SQL Server users are working with established databases, this happened frequently enough that we now explicitly ignore these defaults instead of crashing.
##### Fix for Cloudflare D1’s lower parameter limit
Cloudflare’s D1 has a lower parameter limit than local SQLite, which caused [bigger queries to fail](https://togithub.com/prisma/prisma/issues/23743). We adapted that limit to the D1 default for `@prisma/adapter-d1`, which will avoid such failures.
##### Fix for Cloudflare D1’s different `PRAGMA` support
Our generated migration SQL for SQLite [did not always work for Cloudflare D1](https://togithub.com/prisma/prisma/issues/24208), because of differences in the supported pragmas. We adapted the SQL to work in both local SQLite and Cloudflare D1.
##### Fixes and improvements
##### Prisma Migrate
- [Crash on multiline defaults introspection on MSSQL](https://togithub.com/prisma/prisma/issues/10123)
- [Error: \[libs\sql-schema-describer\src\mssql.rs:315:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `create default [dbo].[member_notification_cancel_flags] as 0\r\n`" ](https://togithub.com/prisma/prisma/issues/10740)
- [Error: \[libs\sql-schema-describer\src\mssql.rs:315:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: ` create default d_password as 'D,73' `" ](https://togithub.com/prisma/prisma/issues/11010)
- [Crash introspecting MSSQL database with `DEFAULT`s](https://togithub.com/prisma/prisma/issues/11557)
- [doing introspection on a SQL Server 2018 DB - for Dynamic GP get the following error.](https://togithub.com/prisma/prisma/issues/14200)
- [Error: \[libs\sql-schema-describer\src\mssql.rs:317:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `\r\ncreate default D_BIT_OFF\r\nas 0\r\n`" ](https://togithub.com/prisma/prisma/issues/15704)
- [Error: called `Result::unwrap()` on an `Err` value: "Couldn't parse default value in SQL Server](https://togithub.com/prisma/prisma/issues/17069)
- [db pull errors on SQL Server with ` Error: [libs\sql-schema-describer\src\mssql.rs:336:30] called `Result::unwrap()`on an`Err` value: "Couldn't parse default value: [...] `](https://togithub.com/prisma/prisma/issues/17104)
- [Error: \[libs\sql-schema-describer\src\mssql.rs:336:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `\r\ncreate default [va_nulla] as 0\r\n`" ](https://togithub.com/prisma/prisma/issues/17292)
- [Error when pulling from database](https://togithub.com/prisma/prisma/issues/19971)
- [Foreign key relation results in erroneous second migration](https://togithub.com/prisma/prisma/issues/23043)
- [`db pull` can't parse script setting default value](https://togithub.com/prisma/prisma/issues/23453)
- [Bug: Migrations not compatible with D1](https://togithub.com/prisma/prisma/issues/24208)
- [SQL Server Introspection crashes on multi-line (deprecated) defaults](https://togithub.com/prisma/prisma/issues/24275)
##### Prisma Client
- [Raw query failed. Code: `22P03`. Message: `db error: ERROR: incorrect binary data format in bind parameter 1`](https://togithub.com/prisma/prisma/issues/16611)
- [Float number on raw query: `incorrect binary data format in bind parameter 1`](https://togithub.com/prisma/prisma/issues/17110)
- [Can't use Prisma client in Next.js middleware, even when deploying to Node.js](https://togithub.com/prisma/prisma/issues/21310)
- [Prepared statement caching is data dependent on numeric input parameters (`incorrect binary data format in bind parameter x`)](https://togithub.com/prisma/prisma/issues/22482)
- [Turso Driver Adapter: Including `_count` leads to error](https://togithub.com/prisma/prisma/issues/23566)
- [Next.js app build fails when using Prisma with DB driver in Server Action](https://togithub.com/prisma/prisma/issues/23600)
- [Bug: \[D1\] Error in performIO: Error: D1\_ERROR: too many SQL variables](https://togithub.com/prisma/prisma/issues/23743)
- [Remove `warn(prisma-client) This is the 10th instance of Prisma Client being started.` warning in Edge (and potentially) other envs)](https://togithub.com/prisma/prisma/issues/23763)
- [$executeRawUnsafe: `incorrect binary data format in bind parameter 6`](https://togithub.com/prisma/prisma/issues/23872)
- [Bug: Error or bug using Prisma with DriverAdapter with PostgreSQL database Neon](https://togithub.com/prisma/prisma/issues/23903)
- [`Inconsistent column data: Unexpected conversion failure from Number to BigInt` error when using `@prisma/adapter-pg` ](https://togithub.com/prisma/prisma/issues/23926)
- [Incompatibility with NextJS app dir, CloudFlare Pages and D1](https://togithub.com/prisma/prisma/issues/23929)
- [Breaking change? `Int` switched to being `Int32` for MongoDB](https://togithub.com/prisma/prisma/issues/24262)
##### Language tools (e.g. VS Code)
- [VS Code extension is showing an advertisement](https://togithub.com/prisma/language-tools/issues/1732)
- [`Generate` codelens fails on Windows](https://togithub.com/prisma/language-tools/issues/1738)
- [We incorrectly read commented out preview features if they are before the real preview features](https://togithub.com/prisma/language-tools/issues/1741)
##### Credits
Huge thanks to [@pranayat](https://togithub.com/pranayat), [@yubrot](https://togithub.com/yubrot), and [@skyzh](https://togithub.com/skyzh) for helping!
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
5.14.0
->5.15.0
5.14.0
->5.15.0
Release Notes
prisma/prisma (@prisma/client)
### [`v5.15.0`](https://togithub.com/prisma/prisma/releases/tag/5.15.0) [Compare Source](https://togithub.com/prisma/prisma/compare/5.14.0...5.15.0) Today, we are excited to share the `5.15.0` stable release 🎉 🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@prisma%20release%20v5.15.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.15.0) about the release.** 🌟 ##### **Highlights** ##### Multi-File Prisma Schema support Prisma ORM 5.15.0 features support for multi-file Prisma Schema in Preview. This closes [a long standing issue](https://togithub.com/prisma/prisma/issues/2377) and does so in a clean and easy to migrate way. To get started: 1. Enable the `prismaSchemaFolder` Preview feature by including it in the `previewFeatures` field of your `generator`. ``` datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" previewFeatures = ["prismaSchemaFolder"] } ``` 2. Create a `schema` subdirectory under your `prisma` directory. 3. Move your `schema.prisma` into this directory. You are now set up with a multi-file Prisma Schema! Add as many or as few `.prisma` files to the new `prisma/schema` directory. When running commands where a Prisma Schema file is expected to be provided, you can now define a Prisma Schema directory. This includes Prisma CLI commands that use the `--schema` option as well as defining schema via `package.json` Our tooling has also been updated to handle multiple Prisma Schema files. This includes our Visual Studio Code extension and tools like database introspection, which will deposit new models in a `introspected.prisma` file. Existing models will be updated in the file they are found. To learn more, please refer to our official documentation and [announcement blog post](https://www.prisma.io/blog/organize-your-prisma-schema-with-multi-file-support). If you try out `prismaSchemaFolder`, please [let us know](https://togithub.com/prisma/prisma/discussions/24413)! ##### Interesting Bug Fixes ##### Fix for PostgreSQL prepared statement caching for raw queries This release fixes a [nasty bug with the caching of prepared statements](https://togithub.com/prisma/prisma/issues/22482) in [raw Prisma Client queries](https://www.prisma.io/docs/orm/prisma-client/queries/raw-database-access/raw-queries) that affected PostgreSQL when you ran the same SQL statement with differently typed paramters. This should not fail any more. ##### Fix for SQL Server introspection of (deprecated) **`CREATE DEFAULT`** Our Introspection logic [crashed](https://togithub.com/prisma/prisma/issues/24275) on encountering certain multi-line `CREATE DEFAULT`, a [deprecated way to define defaults in SQL Server](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-default-transact-sql?view=sql-server-ver15). As many SQL Server users are working with established databases, this happened frequently enough that we now explicitly ignore these defaults instead of crashing. ##### Fix for Cloudflare D1’s lower parameter limit Cloudflare’s D1 has a lower parameter limit than local SQLite, which caused [bigger queries to fail](https://togithub.com/prisma/prisma/issues/23743). We adapted that limit to the D1 default for `@prisma/adapter-d1`, which will avoid such failures. ##### Fix for Cloudflare D1’s different `PRAGMA` support Our generated migration SQL for SQLite [did not always work for Cloudflare D1](https://togithub.com/prisma/prisma/issues/24208), because of differences in the supported pragmas. We adapted the SQL to work in both local SQLite and Cloudflare D1. ##### Fixes and improvements ##### Prisma Migrate - [Crash on multiline defaults introspection on MSSQL](https://togithub.com/prisma/prisma/issues/10123) - [Error: \[libs\sql-schema-describer\src\mssql.rs:315:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `create default [dbo].[member_notification_cancel_flags] as 0\r\n`" ](https://togithub.com/prisma/prisma/issues/10740) - [Error: \[libs\sql-schema-describer\src\mssql.rs:315:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: ` create default d_password as 'D,73' `" ](https://togithub.com/prisma/prisma/issues/11010) - [Crash introspecting MSSQL database with `DEFAULT`s](https://togithub.com/prisma/prisma/issues/11557) - [doing introspection on a SQL Server 2018 DB - for Dynamic GP get the following error.](https://togithub.com/prisma/prisma/issues/14200) - [Error: \[libs\sql-schema-describer\src\mssql.rs:317:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `\r\ncreate default D_BIT_OFF\r\nas 0\r\n`" ](https://togithub.com/prisma/prisma/issues/15704) - [Error: called `Result::unwrap()` on an `Err` value: "Couldn't parse default value in SQL Server](https://togithub.com/prisma/prisma/issues/17069) - [db pull errors on SQL Server with ` Error: [libs\sql-schema-describer\src\mssql.rs:336:30] called `Result::unwrap()`on an`Err` value: "Couldn't parse default value: [...] `](https://togithub.com/prisma/prisma/issues/17104) - [Error: \[libs\sql-schema-describer\src\mssql.rs:336:30\] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `\r\ncreate default [va_nulla] as 0\r\n`" ](https://togithub.com/prisma/prisma/issues/17292) - [Error when pulling from database](https://togithub.com/prisma/prisma/issues/19971) - [Foreign key relation results in erroneous second migration](https://togithub.com/prisma/prisma/issues/23043) - [`db pull` can't parse script setting default value](https://togithub.com/prisma/prisma/issues/23453) - [Bug: Migrations not compatible with D1](https://togithub.com/prisma/prisma/issues/24208) - [SQL Server Introspection crashes on multi-line (deprecated) defaults](https://togithub.com/prisma/prisma/issues/24275) ##### Prisma Client - [Raw query failed. Code: `22P03`. Message: `db error: ERROR: incorrect binary data format in bind parameter 1`](https://togithub.com/prisma/prisma/issues/16611) - [Float number on raw query: `incorrect binary data format in bind parameter 1`](https://togithub.com/prisma/prisma/issues/17110) - [Can't use Prisma client in Next.js middleware, even when deploying to Node.js](https://togithub.com/prisma/prisma/issues/21310) - [Prepared statement caching is data dependent on numeric input parameters (`incorrect binary data format in bind parameter x`)](https://togithub.com/prisma/prisma/issues/22482) - [Turso Driver Adapter: Including `_count` leads to error](https://togithub.com/prisma/prisma/issues/23566) - [Next.js app build fails when using Prisma with DB driver in Server Action](https://togithub.com/prisma/prisma/issues/23600) - [Bug: \[D1\] Error in performIO: Error: D1\_ERROR: too many SQL variables](https://togithub.com/prisma/prisma/issues/23743) - [Remove `warn(prisma-client) This is the 10th instance of Prisma Client being started.` warning in Edge (and potentially) other envs)](https://togithub.com/prisma/prisma/issues/23763) - [$executeRawUnsafe: `incorrect binary data format in bind parameter 6`](https://togithub.com/prisma/prisma/issues/23872) - [Bug: Error or bug using Prisma with DriverAdapter with PostgreSQL database Neon](https://togithub.com/prisma/prisma/issues/23903) - [`Inconsistent column data: Unexpected conversion failure from Number to BigInt` error when using `@prisma/adapter-pg` ](https://togithub.com/prisma/prisma/issues/23926) - [Incompatibility with NextJS app dir, CloudFlare Pages and D1](https://togithub.com/prisma/prisma/issues/23929) - [Breaking change? `Int` switched to being `Int32` for MongoDB](https://togithub.com/prisma/prisma/issues/24262) ##### Language tools (e.g. VS Code) - [VS Code extension is showing an advertisement](https://togithub.com/prisma/language-tools/issues/1732) - [`Generate` codelens fails on Windows](https://togithub.com/prisma/language-tools/issues/1738) - [We incorrectly read commented out preview features if they are before the real preview features](https://togithub.com/prisma/language-tools/issues/1741) ##### Credits Huge thanks to [@pranayat](https://togithub.com/pranayat), [@yubrot](https://togithub.com/yubrot), and [@skyzh](https://togithub.com/skyzh) for helping!Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.