keystonejs / keystone

The most powerful headless CMS for Node.js — built with GraphQL and React
https://keystonejs.com
MIT License
8.98k stars 1.13k forks source link

fix(deps): update prisma monorepo to v5.14.0 #9145

Closed renovate[bot] closed 1 month ago

renovate[bot] commented 1 month ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@prisma/client (source) 5.13.0 -> 5.14.0 age adoption passing confidence
@prisma/internals (source) 5.13.0 -> 5.14.0 age adoption passing confidence
@prisma/migrate (source) 5.13.0 -> 5.14.0 age adoption passing confidence
prisma (source) 5.13.0 -> 5.14.0 age adoption passing confidence

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 - "before 7am on Tuesday,before 7am on Wednesday" in timezone Australia/Sydney, 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.

codesandbox-ci[bot] commented 1 month ago

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 653b1756c2ac515f3deb731d0e76c1d7f0761469:

Sandbox Source
@keystone-6/sandbox Configuration
borisno2 commented 1 month ago

@dcousens - Prisma internal's function formatSchema now only accepts the type { schemas: [[filename: string, content: string]]} and returns [filename: string, content: string] https://github.com/prisma/prisma/blob/ffd104059130a24f43489e21f6f093161014b4a0/packages/internals/src/engine-commands/formatSchema.ts#L11 - I have updated the getCommittedArtifacts function to handle this new type. Feel free to change if there is a different way you would like to handle this 🙏 .

renovate[bot] commented 1 month ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

dcousens commented 1 month ago

Thanks @borisno2! LGTM