-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(deps): update prisma monorepo to v6 (major) #12846
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/major-prisma-monorepo
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+2
−2
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Pull Request Test Coverage Report for Build 68db21fa-1d16-4145-a5a4-da0da888fddfDetails
💛 - Coveralls |
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
December 8, 2023 01:00
91bd519
to
a177aba
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
5 times, most recently
from
December 19, 2023 08:22
aa5b3d2
to
09fc82e
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
January 2, 2024 12:42
09fc82e
to
7abec82
Compare
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: sample/22-graphql-prisma/package-lock.json
|
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
January 9, 2024 20:22
a194eec
to
98e9c35
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
January 15, 2024 13:47
98e9c35
to
6e57913
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
February 1, 2024 16:17
6bc177c
to
fc5dd4a
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
February 12, 2024 08:36
22a7951
to
56cb0e2
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
4 times, most recently
from
February 21, 2024 19:01
bb42ed8
to
d1d93a4
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
March 18, 2024 09:17
8da299c
to
8a45f82
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
April 4, 2024 14:56
93033ce
to
5e2296a
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
April 23, 2024 13:35
5e2296a
to
7b01527
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
May 16, 2024 07:12
89d11ff
to
586ff84
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
June 4, 2024 13:35
8693747
to
4ce6233
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
July 16, 2024 14:36
89935ea
to
0d13ed9
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
August 6, 2024 16:15
0d13ed9
to
53fdd6c
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
September 2, 2024 16:23
a924e44
to
b300a7c
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
September 24, 2024 17:15
b300a7c
to
6a8323c
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
October 17, 2024 18:21
7e10952
to
5cbf1c9
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
November 5, 2024 16:30
5cbf1c9
to
9c9c345
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
4 times, most recently
from
November 20, 2024 14:47
d7a8b87
to
8209553
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
9 times, most recently
from
November 28, 2024 18:54
5d7a637
to
4b77f8b
Compare
renovate
bot
changed the title
fix(deps): update prisma monorepo to v5 (major)
fix(deps): update prisma monorepo to v6 (major)
Nov 28, 2024
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
4 times, most recently
from
December 4, 2024 09:42
49117d6
to
f32104c
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
2 times, most recently
from
December 10, 2024 09:40
882e43d
to
2a2899f
Compare
renovate
bot
force-pushed
the
renovate/major-prisma-monorepo
branch
from
December 17, 2024 20:21
2a2899f
to
103dab8
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.16.2
->6.1.0
^4.15.0
->^6.0.0
Release Notes
prisma/prisma (@prisma/client)
v6.1.0
Compare Source
Today we're releasing Prisma ORM version 6.1.0
In this version our
tracing
Preview feature is being graduated to GA!Highlights
Tracing goes GA
The
tracing
Preview feature is now stable. You now no longer have to includetracing
in your set of enabled preview features.generator client { provider = "prisma-client-js" - previewFeatures = ["tracing"] }
We have also changed some of the spans generated by Prisma Client. Previously, a trace would report the following spans:
Now, the following are reported:
Additionally, we have made a few changes to our dependencies:
@opentelemetry/api
is now a peer dependency instead of a regular dependencyregisterInstrumentations
in@opentelemetry/instrumentation
is now re-exported by@prisma/instrumentation
After upgrading to Prisma ORM 6.1.0 you will need to add
@opentelemetry/api
to your dependencies if you haven't already:You will also no longer need to have
@opentelemetry/instrumentation
if you only useregisterInstrumentations
. In this case you can importregisterInstrumentations
from@prisma/instrumentation
Bug fixes
Tracing related
As we're moving our
tracing
preview to GA, a number of issues have been resolved. Here are a few highlights:suppressTracing
Other issues
We also have a number of other issues that were resolved outside of our
tracing
feature.PrismaNeonHTTP
adapterfindUnique
returnsnull
when used instead ofPromise.all
Fixes and improvements
Prisma
TypeError: parentTracer.getSpanLimits is not a function
Span
constructorprisma:engine
spans do not respectsuppressTracing()
tracing: engine
spans don't pass throughSampler
prisma:client:operation
prisma:engine
spans are missing when there are multiplenew PrismaClient()
invocationsparentTracer.getSpanLimits is not a function
opentelemetry-sdk-trace-base
(e.g. Datadog tracer)traceparent
comments with multiple SQL statements@prisma/instrumentation
dependencies peer dependenciesdb.statement
attribute doesn't include thetraceparent
commentregisterInstrumentations
uses the global provider instead of the one passed inPrismaNeonHTTP
adapter breaks on some types e.g. timestampPrisma failed to detect the libssl/openssl version to use
Prisma Client
@prisma/instrumentation
Type Error:'InstrumentionNodeModuleDefintion' is not generic
v6.0.1
Compare Source
v6.0.0
Compare Source
We’re excited to share the Prisma ORM v6 release today 🎉
As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our upgrade guide to understand the impact on your application.
If you want to have an overview of what we accomplished since v5, check out our announcement blog post: Prisma 6: Better Performance, More Flexibility & Type-Safe SQL.
🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Breaking changes
Minimum supported Node.js versions
The new minimum supported Node.js versions for Prisma ORM v6 are:
There is no official support for Node.js <18.18.0, 19, 21, 23.
Minimum supported TypeScript version
The new minimum supported TypeScript version for Prisma ORM v6 is: 5.1.0.
Schema change for implicit m-n relations on PostgreSQL
If you're using PostgreSQL and are defining implicit many-to-many relations in your Prisma schema, Prisma ORM maintains the relation table for you under the hood. This relation table has
A
andB
columns to represent the tables of the models that are part of this relation.Previous versions of Prisma ORM used to create a unique index on these two columns. In Prisma v6, this unique index is changing to a primary key in order to simplify for the default replica identity behaviour.
If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain
ALTER TABLE
statements for all the relation tables that belong to these relations.Full-text search on PostgreSQL
The
fullTextSearch
Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the newfullTextSearchPostgres
Preview feature.Usage of
Buffer
Prisma v6 replaces the usage of
Buffer
withUint8Array
to represent fields of typeBytes
. Make sure to replace all your occurrences of theBuffer
type with the newUint8Array
.Removed
NotFoundError
In Prisma v6, we removed the
NotFoundError
in favor ofPrismaClientKnownRequestError
with error codeP2025
infindUniqueOrThrow()
andfindFirstOrThrow()
. If you've relied on catchingNotFoundError
instances in your code, you need to adjust the code accordingly.New keywords that can't be used as model names:
async
,await
,using
With this release, you can't use
async
,await
andusing
as model names any more.Preview features promoted to General Availability
In this release, we are promoting a number of Preview features to General Availability.
fullTextIndex
If you use the full-text index feature in your app, you can now remove
fullTextIndex
from thepreviewFeatures
in your Prisma schema:generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextIndex"] }
fullTextSearch
If you use the full-text search feature with MySQL in your app, you can now remove
fullTextSearch
from thepreviewFeatures
in your Prisma schema:generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] }
If you are using it with PostgreSQL, you need to update the name of the feature flag to
fullTextSearchPostgres
:New features
We are also releasing new features with this release:
prisma generate
's outputCompany news
🚀 Prisma Postgres is free during Early Access
In case you missed it: We recently launched Prisma Postgres, a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now!
✨ Let us know what you think of Prisma ORM
We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this 2min survey.
v5.22.0
Compare Source
Today, we are excited to share the
5.22.0
stable release 🎉🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Highlights
Further Tracing Improvements
In our ongoing effort to stabilize the
tracing
Preview feature, we’ve made our spans compliant with OpenTelemetry Semantic Conventions for Database Client Calls. This should lead to better compatibility with tools such as DataDog and Sentry.We’ve also included numerous bug fixes that should make this Preview feature easier to work with.
Metrics bug fix
Occasionally, connection pool metrics would become negative or grow unbounded. In this release, connection pool metrics should stay consistent.
Connection Pool Timeout fix
In a specific case, there could be issues where fetching a new connection from the connection pool would time out, regardless of the state of the application and connection pool. If you have experience connection pool issues accessing a PostgreSQL database with TLS encryption in a resource-constrained environment (such as Function-as-a-Service offerings or very small VPS) this should resolve those issues.
Special thanks to @youxq for their pull request and help resolving this issue!
Join us
Looking to make an impact on Prisma in a big way? We're hiring!
Learn more on our careers page: https://www.prisma.io/careers
Fixes and improvements
Prisma Migrate
@unique
inschema.prisma
does not generate SQL to do soPrisma
libquery_engine-debian-openssl-1.1.x.so.node
prisma:engine:connection
spans have no parentprisma:engine:itx_runner
are disconnected from the treeitx_runner
span and it's children are missing sometimeslibquery_engine-debian-openssl-1.1.x.so.node
Credits
Huge thanks to @tmm1, @Takur0, @hinaloe, @andyjy, and @youxq for helping!
v5.21.1
Compare Source
v5.21.0
Compare Source
Today, we are excited to share the
5.21.0
release 🎉🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Highlights
Better support for tracing in MongoDB
The
tracing
Preview feature now has full support for MongoDB with previously missing functionality now implemented. This is a part of the ongoing effort to stabilize this Preview feature and release it in General Availability.tracing
is a Preview feature that enables built-in support for OpenTelemetry instrumentation inside the Prisma Client and provides deep insights into the performance and timing of your queries. See our documentation for more information.For an easy to use and zero-configuration tracing instrumentation tool with a dashboard that provides an overview of your queries, statistics, and AI-powered recommendations, try Prisma Optimize.
WebAssembly engine size decrease for edge functions
Due to recent changes, some users experienced a steep increase of the bundle size in Prisma 5.20 when using the
driverAdapters
Preview feature, going over the 1 MB limit on the free tier of Cloudflare Workers. This has now been fixed.Fixes and improvements
Prisma Engines
Credits
Huge thanks to @austin-tildei, @LucianBuzzo, @mcuelenaere, @pagewang0, @key-moon, @pranayat, @yubrot, @skyzh for helping!
v5.20.0
Compare Source
🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
strictUndefinedChecks
in PreviewWith Prisma ORM 5.20.0, the Preview feature
strictUndefinedChecks
will disallow any value that is explicitlyundefined
and will be a runtime error. This change is direct feedback from this GitHub issue and follows our latest proposal on the same issue.To demonstrate the change, take the following code snippet:
In Prisma ORM 5.19.0 and below, this could result in unintended behavior. In Prisma ORM 5.20.0, if the
strictUndefinedChecks
Preview feature is enabled, you will get a runtime error instead:We have also introduced the
Prisma.skip
symbol, which will allow you to get the previous behavior if desired.From Prisma ORM 5.20.0 onward, we recommend enabling
strictUndefinedChecks
, along with the TypeScript compiler optionexactOptionalPropertyTypes
, which will help catch cases of undefined values at compile time. Together, these two changes will help protect your Prisma queries from potentially destructive behavior.strictUndefinedChecks
will be a valid Preview feature for the remainder of Prisma ORM 5. With our next major version, this behavior will become the default and the Preview feature will be “graduated” to Generally Available.If you have any questions or feedback about
strictUndefinedChecks
, please ask/comment in our dedicated Preview feature GitHub discussion.typedSql
bug fixThank you to everyone who has tried out our
typedSql
Preview feature and provided feedback! This release has a quick fix for typescript files generated when Prisma Schema enums had hyphens.Fixes and improvements
Prisma
not available
.generate
when typedSql is enabled and enum contains hyphens.@prisma/internals
didn't listts-toolbelt
in dependencies.$extends
prevents model comments from being passed to TypeScriptPrisma Engines
Credits
Huge thanks to @mcuelenaere, @pagewang0, @key-moon, @pranayat, @yubrot, @thijmenjk, @mydea, @HRM, @haaawk, @baileywickham, @brian-dlee, @nickcarnival, @eruditmorina, @nzakas, and @gutyerrez for helping!
v5.19.1
Compare Source
Today, we are issuing the
5.19.1
patch release.What's Changed
We've fixed the following issues:
Full Changelog: prisma/prisma@5.19.0...5.19.x, prisma/prisma-engines@5.19.0...5.19.x
v5.19.0
Compare Source
Today, we are excited to share the
5.19.0
stable release 🎉🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
Introducing TypedSQL
TypedSQL is a brand new way to interact with your database from Prisma Client. After enabling the
typedSql
Preview feature, you’re able to write SQL queries in a newsql
subdirectory of yourprisma
directory. These queries are then checked by Prisma during using the new--sql
flag ofprisma generate
and added to your client for use in your code.To get started with TypedSQL:
Make sure that you have the latest version of
prisma
and@prisma/client
installed:Enable the
typedSql
Preview feature in your Prisma Schema.Create a
sql
subdirectory of yourprisma
directory.You can now add
.sql
files to thesql
directory! Each file can contain one sql query and the name must be a valid JS identifier. For this example, say you had the filegetUsersWithPosts.sql
with the following contents:Import your SQL query into your code with the
@prisma/client/sql
import:There’s a lot more to talk about with TypedSQL. We think that the combination of the high-level Prisma Client API and the low-level TypedSQL will make for a great developer experience for all of our users.
To learn more about behind the “why” of TypedSQL be sure to check out our announcement blog post.
For docs, check out our new TypedSQL section.
Bug fixes
Driver adapters and D1
A few issues with our
driverAdapters
Preview feature and Cloudflare D1 support were resolved via https://github.com/prisma/prisma-engines/pull/4970 and https://github.com/prisma/prisma/pull/24922max
,min
,eq
, etc in queries when using Cloudflare D1.BigInt
IDs whenrelationMode="prisma"
was enabled and Cloudflare D1 was being used.Joins
some
clauses when therelationJoins
Preview feature was enabled.Join us
Looking to make an impact on Prisma in a big way? We're now hiring engineers for the ORM team!
prisma-engines
Rust codebase. TypeScript knowledge (or, again, a desire to learn) is a plus.Credits
Huge thanks to @mcuelenaere, @pagewang0, @Druue, @key-moon, @Jolg42, @pranayat, @ospfranco, @yubrot, @skyzh for helping!
v5.18.0
Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Native support for UUIDv7
Previous to this release, the Prisma Schema function
uuid()
did not accept any arguments and created a UUIDv4 ID. While sufficient in many cases, UUIDv4 has a few drawbacks, namely that it is not temporally sortable.UUIDv7 attempts to resolve this issue, making it easy to temporally sort your database rows by ID!
To support this, we’ve updated the
uuid()
function in Prisma Schema to accept an optional, integer argument. Right now, the only valid values are4
and7
, with4
being the default.Bug squashing
We’ve squashed a number of bugs this release, special thanks to everyone who helped us! A few select highlights are:
prismaSchemaFolder
.Json[]
fields will now return[]
instead ofnull
when accessed through a join using therelationJoins
Preview feature.Fixes and improvements
Prisma
Language tools (e.g. VS Code)
Credits
Huge thanks to @mcuelenaere, @pagewang0, @Druue, @key-moon, @Jolg42, @pranayat, @ospfranco, @yubrot, @skyzh, @haaawk for helping!
v5.17.0
Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
VSCode extension improvements
We’re happy to introduce some cool new features that will make your experience with the Prisma VSCode extension even better!
Find references across schema files
The ability to hop between references of a given symbol is really useful in application code and now with the introduction of multi-file schema, we think it’s the perfect time to bring this feature to the VSCode extension!
With the 5.17.0 release, you’ll now have the ability to use the native “find references” feature to find any usage of a given symbol
Added context on hover
When hovering over a symbol that references a view, type, enum, or any other block with multiple values, you’ll now see a handy pop out that shows what is in that block at a glance.
Additional quick fixes
We’ve taken some fixes made by the
prisma format
cli command and made them quick fixes available to the VSCode Extension. Now, when you have forget a back relation or relation scalar field, you’ll now see in real time what is wrong and have the option to fix it via the extension.QueryRaw performance improvements
We’ve changed the response format of
queryRaw
to decrease its average size which reduces serialization CPU overhead.When querying large data sets, we expect you to see improved memory usage and up to 2x performance improvements.
Fixes and improvements
Prisma Client
This is the 10th instance of Prisma Client being started. Make sure this is intentional.
warningPrisma
Language tools (e.g. VS Code)
Credits
Huge thanks to @key-moon, @pranayat, @yubrot, @skyzh for helping!
v5.16.2
Compare Source
Today, we are issuing the 5.16.2 patch release to fix an issue in Prisma client.
Fix in Prisma Client
v5.16.1
Compare Source
Today, we are issuing the 5.16.1 patch release to fix an issue in Prisma client.
Fix in Prisma Client
v5.16.0
Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Omit model fields globally
With Prisma ORM 5.16.0 we’re more than happy to announce that we’re expanding the
omitApi
Preview feature to also include the ability to omit fields globally.When the Preview feature is enabled, you’re able to define fields to omit when instantiating Prisma Client.
You’re also able to omit fields from multiple models and multiple fields from the same model
With both local and global
omit
, you now have the flexibility to completely remove sensitive fields while also tailoring individual queries. If you need the ability to generally omit a field except in a specific query, you can also overwrite a global omit locallyChanges to
prismaSchemaFolder
In
5.15.0
we released theprismaSchemaFolder
Preview feature, allowing you to create multiple Prisma Schema files in aprisma/schema
directory. We’ve gotten a lot of great feedback and are really excited with how the community has been using the feature.To continue improving our multi-file schema support, we have a few breaking changes to the
prismaSchemaFolder
feature:prismaSchemaFolder
feature, a path is now relative to the file it is defined in rather than relative to theprisma/schema
folder. This means that if you have a generator block in/project/prisma/schema/config/generator.prisma
with anoutput
of./foo
the output will be resolved to/project/prisma/schema/config/foo
rather than/project/prisma/foo
. The path to a SQLite file will be resolved in the same manner.prisma/schema
as well asprisma/schema.prisma
. Our initial implementation looked for a.prisma
file first and would ignore theschema
folder if it exists. This is now an error.Changes to
fullTextSearch
In order to improve our full-text search implementation we have made a breaking change to the
fullTextSearch
Preview feature.Previously, when the feature was enabled we updated the
<Model>OrderByWithRelationInput
TypeScript type with the<Model>OrderByWithRelationAndSearchRelevanceInput
type. However, we have noted that there are no cases where relational ordering is needed but search relevance is not. Thus, we have decided to remove the<Model>OrderByWithRelationAndSearchRelevanceInput
naming and only use the<Model>OrderByWithRelationInput
naming.Fixes and improvements
Prisma
Prisma has no exported member named OrderByWithRelationInput. Did you mean OrderByWithAggregationInput?
prisma generate
@prisma/adapter-pg
modifies node-postgres global type parsersdb pull
fails with[libs\user-facing-errors\src\quaint.rs:136:18] internal error: entered unreachable code
on invalid credentialsLanguage tools (e.g. VS Code)
Prisma Engines
Credits
Huge thanks to @key-moon, @pranayat, @yubrot, @skyzh, @brian-dlee, @mydea, @nickcarnival, @eruditmorina, @nzakas, @gutyerrez, @avallete, @ceddy4395, @Kayoshi-dev, @yehonatanz for helping!
v5.15.1
Compare Source
Today, we are issuing the
5.15.1
patch release.Fixes in Prisma Client
ConnectionError(Timed out during query execution.)
during seedingConnectionError(Timed out during query execution.)
error when usingPromise.all
for SQLitePromise.all()
/ concurrentv5.15.0
Compare Source
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 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 and does so in a clean and easy to migrate way.
To get started:
prismaSchemaFolder
Preview feature by including it in thepreviewFeatures
field of yourgenerator
.schema
subdirectory under yourprisma
directory.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 newprisma/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 viapackage.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. If you try out
prismaSchemaFolder
, please let us know!Interesting Bug Fixes
Fix for PostgreSQL prepared statement caching for raw queries
This release fixes a nasty bug with the caching of prepared statements in raw Prisma Client 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 on encountering certain multi-line
CREATE DEFAULT
, a deprecated way to define defaults in SQL Server. 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. We adapted that limit to the D1 default for
@prisma/adapter-d1
, which will avoid such failures.Fix for Cloudflare D1’s different
PRAGMA
supportOur generated migration SQL for SQLite did not always work for Cloudflare D1, 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
Result::unwrap()
on anErr
value: "Couldn't parse default value:create default [dbo].[member_notification_cancel_flags] as 0\r\n
"Result::unwrap()
on anErr
value: "Couldn't parse default value:create default d_password as 'D,73'
"DEFAULT
sResult::unwrap()
on anErr
value: "Couldn't parse default value:\r\ncreate default D_BIT_OFF\r\nas 0\r\n
"Result::unwrap()
on anErr
value: "Couldn't parse default value in SQL ServerError: [libs\sql-schema-describer\src\mssql.rs:336:30] called
Result::unwrap()on an
Errvalue: "Couldn't parse default value: [...]
Result::unwrap()
on anErr
value: "Couldn't parse default value:\r\ncreate default [va_nulla] as 0\r\n
"db pull
can't parse script setting default valuePrisma Client
22P03
. Message:db error: ERROR: incorrect binary data format in bind parameter 1
incorrect binary data format in bind parameter 1
incorrect binary data format in bind parameter x
)_count
leads to errorwarn(prisma-client) This is the 10th instance of Prisma Client being started.
warning in Edge (and potentially) other envs)incorrect binary data format in bind parameter 6
Inconsistent column data: Unexpected conversion failure from Number to BigInt
error when using@prisma/adapter-pg
Int
switched to beingInt32
for MongoDBLanguage tools (e.g. VS Code)
Generate
codelens fails on WindowsCredits
Huge thanks to @pranayat, @yubrot, and @skyzh for helping!
v5.14.0
Compare Source
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 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 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 tocreateMany()
but uses aRETURNING
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.
Additionally,
createManyAndReturn()
supports the same options asfindMany()
, such as the ability to return only specific fields.Note: Because
createManyAndReturn()
uses theRETURNING
clause, it is only supported by PostgreSQL, CockroachDB, and SQLite databases. At this time,relationLoadStrategy: join
is not supported increateManyAndReturn()
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 includein
operators or relation loading.Fixes and improvements
Prisma Client
createMany()
should return the created recordstake
on many-to-one relationshipinclude
for relationsfindMany()
query execution within
include
query slowonDelete: SetNull
prisma init --with-model
@opentelemetry/*
dependenciesThe required connected records were not found.
when using indicesPrisma Migrate
dbgenerated()
still breaking forUnsupported()
typesshadowDatabaseUrl
is identical tourl
(ordirectUrl
)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 was generated by Mend Renovate. View the repository job log.