Blagues-API / blagues-api

😂 API de Blagues française et Open Source
https://www.blagues-api.fr
MIT License
46 stars 17 forks source link

fix(deps): update prisma dependencies to ^4.6.0 #453

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@prisma/client (source) ^4.4.0 -> ^4.6.0 age adoption passing confidence
prisma (source) 4.4.0 -> 4.6.0 age adoption passing confidence

Release Notes

prisma/prisma ### [`v4.6.0`](https://togithub.com/prisma/prisma/releases/tag/4.6.0) [Compare Source](https://togithub.com/prisma/prisma/compare/4.5.0...4.6.0) 🌟 **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%20v4.6.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/4.6.0) about the release.** 🌟 ##### Highlights ##### Interactive Transactions for Prisma Data Proxy (Preview) In [3.8.0](https://togithub.com/prisma/prisma/releases/tag/3.8.0), we disabled the `interactiveTransactions` [Preview feature](https://www.prisma.io/docs/about/prisma/releases#preview) when using the Prisma Data Proxy. This was because the API was not yet supported. In this release, we're removing the limitation. You can now try the Preview version of [interactive transactions](https://www.prisma.io/docs/concepts/components/prisma-client/transactions#interactive-transactions-in-preview) with the Prisma Data Proxy. Re-generate Prisma Client using `prisma generate --data-proxy` after enabling the Preview feature. **Note**: The `interactiveTransactions` Preview feature flag is still needed. We will remove this in a future version when the feature is stable. Try it out and let us know your thoughts in our [interactive transactions feedback GitHub issue](https://togithub.com/prisma/prisma/issues/8664). ##### Native database level upserts for PostgreSQL, SQLite, and CockroachDB Prisma’s upsert is one of its most powerful and most convenient APIs. In this release, Prisma will now default to the native database upsert for PostgreSQL, SQLite, and CockroachDB whenever possible. Prisma will use the native database upsert if: - There are no nested queries in the `upsert`'s `create` and `update` [options](https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#upsert-1) - The query modifies only one model - There is only one unique field in the `upsert`'s `where` option - The unique field in the `where` option and the unique field in the `create` option have the same value Prisma Client's [`upsert`](https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#upsert) operation was implemented on a Prisma-level and did not use the native database implementations like, e.g., `INSERT .. ON CONFLICT .. UPDATE SET`. This allowed Prisma to also upsert nested queries. The Prisma-implementation came at a cost. In some scenarios, it was more likely for a transaction to roll back because of a conflict when multiple `upsert` operations were being executed in parallel, and the multiple queries often took longer than the native database query would have taken. Try it out and let us know what you think. If you run into any issues, don't hesitate to create a [GitHub issue](https://togithub.com/prisma/prisma/issues/new?assignees=\&labels=kind%2Fbug\&template=bug_report.yml). ##### Relation Mode improvements (Preview) In [4.5.0](https://togithub.com/prisma/prisma/releases/tag/4.5.0), we renamed the "Referential Integrity" Preview feature to "Relation Mode". We also changed the `datasource` property name of the feature to `relationMode`. In this release, we fixed all remaining known bugs of `relationMode = "prisma"` and cleaned up our documentation. You can now read about [Relation mode](https://www.prisma.io/docs/concepts/components/prisma-schema/relations/relation-mode) on its [own documentation page](https://www.prisma.io/docs/concepts/components/prisma-schema/relations/relation-mode) which is up to date with the implementation. If you encounter any problems [please comment on our feedback issue](https://togithub.com/prisma/prisma/issues/9380). We plan to make this [Generally Available](https://www.prisma.io/docs/about/prisma/releases#generally-available-ga) soon. ##### `extendedWhereUnique` improvements (Preview) In [4.5.0](https://togithub.com/prisma/prisma/releases/tag/4.5.0), we introduced the `extendedWhereUnique` Preview feature to allow filtering for non-unique properties in unique where queries. In this release, we're adding new rules to decide when concurrent `findUnique` queries get batched into a `findMany` query. Unfortunately, we forgot to adapt our `findUnique` [query batch optimization](https://www.prisma.io/docs/guides/performance-and-optimization/query-optimization-performance#solving-the-n1-problem), which turns multiple concurrent `findUnique` queries into a single `findMany` query when possible — [GitHub issue](https://togithub.com/prisma/prisma/issues/15934). Therefore, `findUnique` queries will get batched into a `findMany` query if: - All criteria of the filter must be on scalar fields (unique ***or*** non-unique) of the same model you're querying - All criteria must use the equal's filter, whether that's via the shorthand or explicit syntax (`where: { field: , field1: { equals: } }`) Conversely, suppose the filter object contains any boolean operators, relation filters, or scalar filters that are ****not**** using `equals`. Prisma will fall back to executing the `findUnique` queries independently. Let us know your thoughts and share your feedback on the Preview feature in this [GitHub issue](https://togithub.com/prisma/prisma/issues/15837). ##### Fixes and improvements ##### Prisma Client - [upsert across HTTP requests has a race condition](https://togithub.com/prisma/prisma/issues/3242) - [Client tests for Vitess, with `relationMode=prisma`](https://togithub.com/prisma/prisma/issues/6927) - [Concurrent relation upserts conflict](https://togithub.com/prisma/prisma/issues/9751) - [`upsert()` should do ON CONFLICT DO UPDATE/NOTHING in postgresql](https://togithub.com/prisma/prisma/issues/9972) - [Cannot insert Floats (≥9.223372037e18 and <1e21) or (>-1e21 and ≤-9.223372037e18)](https://togithub.com/prisma/prisma/issues/12651) - [Always serialize float fields in exponent notation](https://togithub.com/prisma/prisma/issues/13317) - [Postgres integer column silently overflows to bad value](https://togithub.com/prisma/prisma/issues/13913) - [Add duration to mongo logging](https://togithub.com/prisma/prisma/issues/14378) - [upsert(): Unique constraint on DateTime sqlite](https://togithub.com/prisma/prisma/issues/14584) - ["Unique constraint failed on the fields" when using upsert](https://togithub.com/prisma/prisma/issues/14868) - [using connect in interactive transaction fails](https://togithub.com/prisma/prisma/issues/15044) - [MongoDB does not log queries with `binary` Engine](https://togithub.com/prisma/prisma/issues/15084) - [\[MongoDb\] Query logger produces incorrect output](https://togithub.com/prisma/prisma/issues/15467) - [Float values around 2^63 get interpreted as invalid intergers and throw a graphql error](https://togithub.com/prisma/prisma/issues/15551) - [referentialIntegrity/relationMode preview feature (`referentialIntegrity = "prisma"`): Make `NoAction` a synonym/alias of `Restrict` for the emulation, for all databases except PostgreSQL & SQLite.](https://togithub.com/prisma/prisma/issues/15655) - [Client: In 1:1,1:n, m:n relations using `OnDelete: SetNull` with `referentialIntegrity = "prisma"` `user.delete()` should fail, but succeeds.](https://togithub.com/prisma/prisma/issues/15683) - [calling findUnique concurrently on a model with a compound unique constraint causes it to return null](https://togithub.com/prisma/prisma/issues/15934) - [Support interactive transactions in the Data Proxy](https://togithub.com/prisma/prisma/issues/16177) ##### Prisma - [Re-Introspection: `referentialIntegrity = prisma` not respected when using `@@​map()`](https://togithub.com/prisma/prisma/issues/11022) - [Validation fails to detect invalid `SetNull` referential action referencing non-optional fields](https://togithub.com/prisma/prisma/issues/14673) - [Schema: add validation for datasource property referentialIntegrity & relationMode, so only one can be set.](https://togithub.com/prisma/prisma/issues/15735) - [Create TypeScript tests for #​15655](https://togithub.com/prisma/prisma/issues/15882) - [`referentialIntegrity` policy is lost during re-introspection](https://togithub.com/prisma/prisma/issues/16007) - [Relation fields are removed after npx prisma db pull](https://togithub.com/prisma/prisma/issues/16100) - [Re-introspection should not remove relations when relationMode="prisma"](https://togithub.com/prisma/prisma/issues/16130) ##### Language tools (e.g. VS Code) - [Schema autocompletion intellisense don't match custom datasource name](https://togithub.com/prisma/language-tools/issues/1223) ##### Design Partner Program Are you building data-intensive applications in serverless environments using Prisma? If so, you should join our Design Partner Program to help us build the tools that best fit your workflows! The Design Partner Program aims to help development teams solve operational, data-related challenges in serverless environments. Specifically, we’re looking to build tools that help with the following problems: - Solutions to **listen and react to database changes in real time** are either brittle or too complex to build and operate. - **Coordinating workflows executed via a set of isolated functions or services** spreads that coordination logic across these services instead of keeping it centralized and maintainable. This adds unnecessary overhead and clutter to your business logic. - **Optimizing the data access layer for scaling performance** often involves projecting data into denormalized views, or caching. These methods come with complex logic to figure out strategies for cache invalidation or preventing to use stale data. - **Building web applications on modern Serverless platforms such as Vercel or Netlify often breaks down** as soon as you need to execute on any of the topics listed above. This pushes to re-platform on a traditional infrastructure, delaying projects, and losing productivity benefits offered by Vercel or Netlify. [**Submit an application**](https://docs.google.com/forms/d/e/1FAIpQLSdfadMO7qVOMlOgmeYevpM-olpjku2-3sVzMvVQiHITmZf4dA/viewform) through our application form to join the Prisma Design Partner Program to take advantage of new features that you won't have to build or maintain yourselves. ##### Prisma Data Platform We're working on the Prisma Data Platform — a collaborative environment for connecting apps to databases. It includes the following: - **Data Browser** for navigating, editing, and querying data - **Data Proxy** for your database's persistent, reliable, and scalable connection pooling. - **Query Console** for experimenting with queries [Try it out](https://cloud.prisma.io/). Let us know what you think! ##### 📺 Join us for another "What's new in Prisma" live stream Learn about the latest release and other news from the Prisma community by joining us for another ["What's new in Prisma"](https://youtu.be/o_e_KCqXaRo) live stream. The stream takes place [on YouTube](https://youtu.be/o_e_KCqXaRo) on **Thursday, November 10** at **5 pm Berlin | 8 am San Francisco**. ##### Credits Huge thanks to [@​cmd-johnson](https://togithub.com/cmd-johnson) for helping! ### [`v4.5.0`](https://togithub.com/prisma/prisma/releases/tag/4.5.0) [Compare Source](https://togithub.com/prisma/prisma/compare/4.4.0...4.5.0) 🌟 **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%20v4.5.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/4.5.0) about the release.** 🌟 #### **Major improvements** ##### Filter for non-unique properties in unique where queries (Preview) In this release, we are adding support for non-unique properties inside the `where` statement for queries that operate on a unique record (e.g.: `findUnique`, `update`, `delete`, etc.). This was not possible in the past, as we only allowed unique fields as filters inside the `where` statement for the queries in question. There are use cases where a query that operates on a unique record requires further filtering by non-unique properties. For example, for the following model: ```prisma model Article { id Int @​id @​default(autoincrement()) content String version Int } ``` Let’s say that you would like to update the `Article` with an `id` of “5”, **but only if the `version` equals "1":** ```ts await prisma.article.update({ where: { id: 5, version: 1 }, // `version` field was not available before Prisma 4.5.0 data: { content: "Incredible new story", version: { increment: 1 }, }, }); ``` With `4.5.0`, we are adding support to specify any number of non-unique fields in your `where` statement, as long as you have at least one unique field. To use it, enable the Preview feature flag: ```prisma generator js { provider = "prisma-client-js" previewFeatures = ["extendedWhereUnique"] } ``` To learn more about this feature and about use cases where it can be useful, please check out our [documentation](https://prisma.io/docs/reference/api-reference/prisma-client-reference#filter-on-non-unique-fields-with-userwhereuniqueinput). For feedback, please leave a comment on the GitHub [issue](https://togithub.com/prisma/prisma/issues/15837). ##### PostgreSQL extension management (Preview) We are excited to add support for declaring PostgreSQL extensions in the Prisma schema. The feature comes with support for introspection and migrations. This will allow you to adopt, evolve and manage which PostgreSQL database extensions are installed directly from within your Prisma schema. > 💡 This feature adds support to manage PostgreSQL extensions in Prisma schema. It does not provide additional query capabilities and datatypes in Prisma Client. To try this feature, enable the Preview feature flag: ```prisma generator client { provider = "prisma-client-js" previewFeatures = ["postgresqlExtensions"] } datasource db { provider = "postgresql" url = env("DATABASE_URL") } ``` Now you will be able to use the new `extensions` property in the `datasource` block of your Prisma schema. ```prisma datasource db { provider = "postgresql" url = env("DATABASE_URL") extensions = [hstore(schema: "myHstoreSchema"), pg_tgrm, postgis(version: "2.1")] } ``` > ⚠️ To avoid noise from introspection, we currently only introspect the following allow-list: `citext`, `pgcrypto`, `uuid-ossp`, and `postgis`. But you can add and configure any extension to your Prisma schema manually. Please visit our [documentation](https://prisma.io/docs/concepts/components/prisma-schema/postgresql-extensions) to learn more about this feature or leave a comment with feedback on the GitHub [issue](https://togithub.com/prisma/prisma/issues/15835). ##### Change to Referential Integrity — property in `datasource` block renamed to `relationMode` (Preview) To prepare Prisma Client’s emulation of relations for general availability, we are releasing several improvements to the `referentialIntegrity` Preview feature. We decided to rename the feature to Relation Mode. We think this closer reflects what this feature does and distinguishes it from integrity management on the database level. The related property in the `datasource` block of the Prisma schema has also been changed from `referentialIntegrity` to `relationMode`. > ⚠️ The Preview feature flag inside the `generator` block of the Prisma schema is still called `referentialIntegrity`. To use it, keep using the old `referentialIntegrity` Preview feature flag: ```prisma generator js { provider = "prisma-client-js" previewFeatures = ["referentialIntegrity"] } ``` But use the new property name in the `datasource`: ```prisma datasource db { provider = "mysql" url = env("DATABASE_URL") relationMode = "prisma" } ``` We also removed the referential action `NoAction` for PostgreSQL and SQLite when using `relationMode = "prisma"` as we are not planning to support the details of the database behavior. To learn more about `relationMode`, please check out the [documentation](https://prisma.io/docs/concepts/components/prisma-schema/relations/referential-integrity#how-to-set-the-relation-mode-in-your-prisma-schema) or leave a comment on the [GitHub issue](https://togithub.com/prisma/prisma/issues/9380). ##### Deno for Prisma Client for Data Proxy (Preview) [Deno](https://deno.land/) is an alternative JavaScript runtime that can replace Node.js to run JS and TS apps. It aligns itself closely with web technologies, claims to be secure by default, and supports TypeScript out of the box. Today we are releasing initial support for Prisma with Deno via an integration for our Prisma Client for Data Proxy. This feature was developed together with the amazing team at Deno 🦕. To use Prisma Client in a Deno project, add the `deno` Preview feature flag to your Prisma schema and define a folder as `output` (this is required for Deno): ```prisma generator client { provider = "prisma-client-js" previewFeatures = ["deno"] output = "../generated/client" } ``` Now you can generate Prisma Client with the Data Proxy using the command `npx prisma generate --data-proxy`. Then use Prisma Client in your Deno script with the following import: ```ts import { PrismaClient } from './generated/client/deno/edge.ts' const prisma = new PrismaClient() async function main() { const users = await prisma.user.findMany() console.log({ users }) } main() ``` You can also deploy an app built and configured like this on [Deno Deploy](https://deno.com/deploy), Deno’s deployment platform. Read [this guide in our documentation for a full example and individual steps](https://www.prisma.io/docs/guides/deployment/deployment-guides/deploying-to-deno-deploy). For feedback, please comment on this [GitHub issue](https://togithub.com/prisma/prisma/issues/15844). ##### Fixed “Invalid string length” error in Prisma Studio and Prisma Data Platform Data Browser Many people were having issues with an ["Invalid string length" error](https://togithub.com/prisma/studio/issues?q=label%3A%22topic%3A+Invalid+string+length%22+) both in Prisma Studio and Prisma Data Platform Data Browser. This issue can be resolved through [this workaround](https://togithub.com/prisma/studio/issues/895#issuecomment-1083051249). With this release, the root cause of this issue has been fixed and it should not occur again. #### Updated proposal for Client Extensions: request for comments In `4.3.0`, we shared a proposal for [Prisma Client Extensions](https://togithub.com/prisma/prisma/issues/15074) on Github. We received a lot of great feedback, which we have incorporated into a [new proposal](https://togithub.com/prisma/prisma/issues/15074#issuecomment-1282419200). If you’re interested, please head over to the [new proposal](https://togithub.com/prisma/prisma/issues/15074#issuecomment-1282419200) in GitHub and tell us what you think. Thank you! #### Fixes and improvements ##### Prisma - [Optimistic Concurrency Control](https://togithub.com/prisma/prisma/issues/4988) - [MySQL does not support `onDelete: setDefault`](https://togithub.com/prisma/prisma/issues/11498) - [Reformat unreachable code: Encountered impossible declaration during formatting](https://togithub.com/prisma/prisma/issues/15151) - [Switching between `referentialIntegrity` modes makes migration history obsolete](https://togithub.com/prisma/prisma/issues/15225) - [Rename the feature to “Prisma relation mode” → relationMode](https://togithub.com/prisma/prisma/issues/15601) - [\[multiSchema\] check PSL validations for enum and composite type database name clashes](https://togithub.com/prisma/prisma/issues/15626) - [Support PostgreSQL Extensions in the Prisma Schema Language](https://togithub.com/prisma/prisma/issues/15627) - [Support PostgreSQL Extensions in the PostgreSQL Introspection](https://togithub.com/prisma/prisma/issues/15628) - [Support PostgreSQL Extensions in the Migration Engine](https://togithub.com/prisma/prisma/issues/15629) - [Add TS test for datasource property `referentialIntegrity` and `relationMode`](https://togithub.com/prisma/prisma/issues/15736) - [relationMode: Change test naming](https://togithub.com/prisma/prisma/issues/15765) ##### Prisma Client - [Be able to update or retrieve a single record including non-unique fields in the "where" conditions.](https://togithub.com/prisma/prisma/issues/7290) - [Remove WhereUnique constraint from single object lookups](https://togithub.com/prisma/prisma/issues/10376) - [Expand tests around referential actions and referential integrity](https://togithub.com/prisma/prisma/issues/10806) - [Feature: Allow non-unique fields to be used with update](https://togithub.com/prisma/prisma/issues/12268) - [QueryRaw: Error serializing parameter](https://togithub.com/prisma/prisma/issues/13158) - [PrismaClientUnknownRequestError on create statement default optional value](https://togithub.com/prisma/prisma/issues/15581) - [Problems with SQL Server deadlocks](https://togithub.com/prisma/prisma/issues/15607) ##### Prisma Migrate - [`postgresqlExtensions`: `migrate dev` errors with `ERROR: type "citext" does not exist` when setting `extensions = [citext]`](https://togithub.com/prisma/prisma/issues/15803) ##### Language tools (e.g. VS Code) - [Custom icon for .prisma files](https://togithub.com/prisma/language-tools/issues/5) - [Add autocompletion for property of `relationMode` (previously `referentialIntegrity`) in the datasource block](https://togithub.com/prisma/language-tools/issues/991) #### Credits Huge thanks to [@​kt3k](https://togithub.com/kt3k), [@​abenhamdine](https://togithub.com/abenhamdine), [@​jsoref](https://togithub.com/jsoref) for helping!

Configuration

📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), 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.