prisma/prisma (@prisma/client)
### [`v5.14.0`](https://togithub.com/prisma/prisma/releases/tag/5.14.0)
[Compare Source](https://togithub.com/prisma/prisma/compare/5.13.0...5.14.0)
Today, we are excited to share the `5.14.0` stable release 🎉
🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@prisma%20release%20v5.14.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.14.0) about the release.** 🌟
##### Highlights
##### Share your feedback about Prisma ORM
We want to know how you like working with Prisma ORM in your projects! Please [take our 2min survey](https://pris.ly/orm/survey/release-5-14) and let us know what you like or where we can improve 🙏
##### `createManyAndReturn()`
We’re happy to announce the availability of a new, top-level Prisma Client query: `createManyAndReturn()`. It works similarly to `createMany()` but uses a `RETURNING` clause in the SQL query to retrieve the records that were just created.
Here’s an example of creating multiple posts and then immediately returning those posts.
```tsx
const postBodies = req.json()['posts']
const posts = prisma.post.createManyAndReturn({
data: postBodies
});
return posts
```
Additionally,`createManyAndReturn()` supports the same options as `findMany()`, such as the ability to return only specific fields.
```tsx
const postBodies = req.json()['posts']
const postTitles = prisma.post.createManyAndReturn({
data: postBodies,
select: {
title: true,
},
});
return postTitles
```
**Note**: Because `createManyAndReturn()` uses the `RETURNING` clause, it is only supported by PostgreSQL, CockroachDB, and SQLite databases. At this time, `relationLoadStrategy: join` is not supported in `createManyAndReturn()` queries.
##### MongoDB performance improvements
Previously, Prisma ORM suffered from performance issues when using the `in` operator or when including related models in queries against a MongoDB database. These queries were translated by the Prisma query engine in such a way that indexes were skipped and collection scans were used, leading to slower queries especially on large datasets.
With 5.14.0, Prisma ORM now rewrites queries to use a combination of `$or` and `$eq` operators, leading to dramatic performance increases for queries that include `in` operators or relation loading.
##### Fixes and improvements
##### Prisma Client
- [`createMany()` should return the created records](https://togithub.com/prisma/prisma/issues/8131)
- [Generating Prisma client without any model in its schema](https://togithub.com/prisma/prisma/issues/11582)
- [MongoDB: Performance issue with nested `take` on many-to-one relationship](https://togithub.com/prisma/prisma/issues/13865)
- [Slow queries on MongoDB using `include` for relations](https://togithub.com/prisma/prisma/issues/15156)
- [\[MongoDB\] Performance issue in `findMany()` query execution with `in`](https://togithub.com/prisma/prisma/issues/15983)
- [MongoDB nested/`include` query slow](https://togithub.com/prisma/prisma/issues/17142)
- [MongoDB Connector generates queries which do not take advantage of indices.](https://togithub.com/prisma/prisma/issues/17396)
- [Mongodb Nested Queries Not Using Indexes](https://togithub.com/prisma/prisma/issues/18025)
- [MongoDB slow delete with `onDelete: SetNull`](https://togithub.com/prisma/prisma/issues/19169)
- [Slow query with many-to-one relationship on MongoDB](https://togithub.com/prisma/prisma/issues/20600)
- [`prisma init --with-model`](https://togithub.com/prisma/prisma/issues/20915)
- [Fixed version of `@opentelemetry/*` dependencies](https://togithub.com/prisma/prisma/issues/21473)
- [Usage of deprecated punycode module](https://togithub.com/prisma/prisma/issues/21644)
- [Bug: D1 One-to-Many Relation INSERTs fail with `The required connected records were not found.` when using indices](https://togithub.com/prisma/prisma/issues/23902)
##### Prisma Migrate
- [Empty `dbgenerated()` still breaking for `Unsupported()` types](https://togithub.com/prisma/prisma/issues/15654)
- [Validation error when `shadowDatabaseUrl` is identical to `url` (or `directUrl`)](https://togithub.com/prisma/prisma/issues/16628)
- [MongoDB Query with 'in' condition will cause COLLSCAN, without leveraging indexes](https://togithub.com/prisma/prisma/issues/19955)
- ["Not Authorised" when directly applying Prisma generated migrations to Cloudflare D1 with `PRAGMA foreign_key_check;`](https://togithub.com/prisma/prisma/issues/23827)
##### Language tools (e.g. VS Code)
- [make superior: model generate](https://togithub.com/prisma/language-tools/issues/1651)
- [Missing code autocomplete for referential actions with mongodb](https://togithub.com/prisma/language-tools/issues/1676)
##### Company news
##### Prisma Changelog
Curious about all things Prisma? Be sure to check out the [Prisma Changelog](https://www.prisma.io/changelog) for updates across Prisma's products, including ORM, Accelerate, and Pulse!
##### Credits
Huge thanks to [@pranayat](https://togithub.com/pranayat), [@yubrot](https://togithub.com/yubrot), [@skyzh](https://togithub.com/skyzh), [@anuraaga](https://togithub.com/anuraaga), [@gutyerrez](https://togithub.com/gutyerrez), [@avallete](https://togithub.com/avallete), [@ceddy4395](https://togithub.com/ceddy4395), [@Kayoshi-dev](https://togithub.com/Kayoshi-dev) for helping!
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.13.0
->5.14.0
5.13.0
->5.14.0
Release Notes
prisma/prisma (@prisma/client)
### [`v5.14.0`](https://togithub.com/prisma/prisma/releases/tag/5.14.0) [Compare Source](https://togithub.com/prisma/prisma/compare/5.13.0...5.14.0) Today, we are excited to share the `5.14.0` stable release 🎉 🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@prisma%20release%20v5.14.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.14.0) about the release.** 🌟 ##### Highlights ##### Share your feedback about Prisma ORM We want to know how you like working with Prisma ORM in your projects! Please [take our 2min survey](https://pris.ly/orm/survey/release-5-14) and let us know what you like or where we can improve 🙏 ##### `createManyAndReturn()` We’re happy to announce the availability of a new, top-level Prisma Client query: `createManyAndReturn()`. It works similarly to `createMany()` but uses a `RETURNING` clause in the SQL query to retrieve the records that were just created. Here’s an example of creating multiple posts and then immediately returning those posts. ```tsx const postBodies = req.json()['posts'] const posts = prisma.post.createManyAndReturn({ data: postBodies }); return posts ``` Additionally,`createManyAndReturn()` supports the same options as `findMany()`, such as the ability to return only specific fields. ```tsx const postBodies = req.json()['posts'] const postTitles = prisma.post.createManyAndReturn({ data: postBodies, select: { title: true, }, }); return postTitles ``` **Note**: Because `createManyAndReturn()` uses the `RETURNING` clause, it is only supported by PostgreSQL, CockroachDB, and SQLite databases. At this time, `relationLoadStrategy: join` is not supported in `createManyAndReturn()` queries. ##### MongoDB performance improvements Previously, Prisma ORM suffered from performance issues when using the `in` operator or when including related models in queries against a MongoDB database. These queries were translated by the Prisma query engine in such a way that indexes were skipped and collection scans were used, leading to slower queries especially on large datasets. With 5.14.0, Prisma ORM now rewrites queries to use a combination of `$or` and `$eq` operators, leading to dramatic performance increases for queries that include `in` operators or relation loading. ##### Fixes and improvements ##### Prisma Client - [`createMany()` should return the created records](https://togithub.com/prisma/prisma/issues/8131) - [Generating Prisma client without any model in its schema](https://togithub.com/prisma/prisma/issues/11582) - [MongoDB: Performance issue with nested `take` on many-to-one relationship](https://togithub.com/prisma/prisma/issues/13865) - [Slow queries on MongoDB using `include` for relations](https://togithub.com/prisma/prisma/issues/15156) - [\[MongoDB\] Performance issue in `findMany()` query execution with `in`](https://togithub.com/prisma/prisma/issues/15983) - [MongoDB nested/`include` query slow](https://togithub.com/prisma/prisma/issues/17142) - [MongoDB Connector generates queries which do not take advantage of indices.](https://togithub.com/prisma/prisma/issues/17396) - [Mongodb Nested Queries Not Using Indexes](https://togithub.com/prisma/prisma/issues/18025) - [MongoDB slow delete with `onDelete: SetNull`](https://togithub.com/prisma/prisma/issues/19169) - [Slow query with many-to-one relationship on MongoDB](https://togithub.com/prisma/prisma/issues/20600) - [`prisma init --with-model`](https://togithub.com/prisma/prisma/issues/20915) - [Fixed version of `@opentelemetry/*` dependencies](https://togithub.com/prisma/prisma/issues/21473) - [Usage of deprecated punycode module](https://togithub.com/prisma/prisma/issues/21644) - [Bug: D1 One-to-Many Relation INSERTs fail with `The required connected records were not found.` when using indices](https://togithub.com/prisma/prisma/issues/23902) ##### Prisma Migrate - [Empty `dbgenerated()` still breaking for `Unsupported()` types](https://togithub.com/prisma/prisma/issues/15654) - [Validation error when `shadowDatabaseUrl` is identical to `url` (or `directUrl`)](https://togithub.com/prisma/prisma/issues/16628) - [MongoDB Query with 'in' condition will cause COLLSCAN, without leveraging indexes](https://togithub.com/prisma/prisma/issues/19955) - ["Not Authorised" when directly applying Prisma generated migrations to Cloudflare D1 with `PRAGMA foreign_key_check;`](https://togithub.com/prisma/prisma/issues/23827) ##### Language tools (e.g. VS Code) - [make superior: model generate](https://togithub.com/prisma/language-tools/issues/1651) - [Missing code autocomplete for referential actions with mongodb](https://togithub.com/prisma/language-tools/issues/1676) ##### Company news ##### Prisma Changelog Curious about all things Prisma? Be sure to check out the [Prisma Changelog](https://www.prisma.io/changelog) for updates across Prisma's products, including ORM, Accelerate, and Pulse! ##### Credits Huge thanks to [@pranayat](https://togithub.com/pranayat), [@yubrot](https://togithub.com/yubrot), [@skyzh](https://togithub.com/skyzh), [@anuraaga](https://togithub.com/anuraaga), [@gutyerrez](https://togithub.com/gutyerrez), [@avallete](https://togithub.com/avallete), [@ceddy4395](https://togithub.com/ceddy4395), [@Kayoshi-dev](https://togithub.com/Kayoshi-dev) for helping!Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.