This is one of the first three pull requests with dependency updates we've sent your way. We tried to start with a few easy patch-level updates. Hopefully your tests will pass and you can merge this pull request without too much risk. This should give you an idea how Depfu works in general.
After you merge your first pull request, we'll send you a few more. We'll never open more than seven PRs at the same time so you're not getting overwhelmed with updates.
Let us know if you have any questions. Thanks so much for giving Depfu a try!
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
🌟Help us spread the word about Prisma by starring the repo or tweeting about the release.🌟
Major improvements
Improvements to Prisma Client for Data Proxy
In this release, we're shipping a couple of improvements to Prisma Client for Data Proxy.
The Prisma Data Proxy provides connection management and pooling for database connections for efficiently scaling database connections in serverless environments. The Prisma Client for Data Proxy provides support for connecting to the Prisma Data Proxy using HTTP.
We introduced this feature in version 3.3.0 and constantly shipped features, fixes, and improvements.
One of the changes in this release is improving the Prisma Client for the Data Proxy generation step.
You can generate Prisma Client for the Data Proxy it by using the --data-proxy flag:
npx prisma generate --data-proxy
We also updated how you can run Prisma Client using the Data Proxy in Cloudflare Workers and Edge environments. You can now use @prisma/client/edge instead of @prisma/client in your application.
Metrics is a new Preview feature that allows you to monitor how Prisma Client interacts with your database. Metrics expose a set of counters, gauges, and histograms that can be labeled and piped into an external monitoring system like Prometheus or StatsD.
You can use metrics in your project to help diagnose how your application's number of idle and active connections changes with counters, gauges, and histograms.
To get started using metrics in your project, enable the Preview feature flag in your Prisma schema:
This release includes a known regression when connecting to Azure SQL from MacOS only and will be resolved soon. Follow this issue for updates and resolution.
Fixes and improvements
migrate reset returns with a non-0 exit code if the seed script returns with a non-0 exit code
This will help user scripts know more about the success of the command, but might break existing scripts.
Prisma Day is back this year, and it'll be on June 15 - 16 at the James June Sommergarten in Berlin. Join us in-person or online for talks and workshops on modern application development and databases. Come and meet and chat with the team behind the Prisma ORM and Prisma Data Platform.
💼 We're hiring!
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you.
🌟Help us spread the word about Prisma by starring the repo or tweeting about the release.🌟
Major improvements
CockroachDB connector is now Generally Available!
We are proud to announce the CockroachDB connector is now stable and Generally Available. The connector was built in joined efforts with the team at Cockroach Labs and comes with full Prisma Client and Prisma Migrate support.
If you're upgrading from Prisma version 3.9.0+ or the PostgreSQL connector, you can now run npx prisma db pull and review the changes to your schema. To learn more about CockroachDB-specific native types we support, refer to our docs.
To learn more about the connector and how it differs from PostgreSQL, head to our documentation.
PostgreSQL GIN, GiST, SP-GiST, and BRIN indexes support (Preview)
We introduced the extendedIndexes Preview feature in version 3.5.0, and we have been adding new configuration options for indexes. We've expanded index type support with the GIN, GiST, SP-GiST, and BRIN indexes in this release.
To make use of an index type, you can update your Prisma schema by providing the type argument to the @@index attribute:
To learn more about configuring index types in your schema, refer to our documentation.
Improved queryRaw API
In this release, we made improvements to the SQL raw API. Some improvements are breaking and will be available behind the new improvedQueryRaw Preview feature flag.
The improvedQueryRaw Preview feature solves most of the issues faced when working with the raw API. We would encourage you to turn on the Preview feature flag, try out the new API, and let us know how we can make it even better.
You can enable the Preview feature in your Prisma schema as follows:
Here's a list of the improvements improvedQueryRaw comes with:
1. Raw scalar values are deserialized as their correct JavaScript types
Prisma Client queries such as findMany deserialize database scalar values to their corresponding JavaScript types. For example, a DateTime value is deserialized as a JavaScript Date, and a Bytes would be deserialized as a JavaScript Buffer.
Raw queries now implement the same behavior when the improvedQueryRaw Preview feature flag is enabled.
⚠️ This change is not yet available in the SQLite connector.
The types of values from the database will be used instead of the types in the Prisma schema. Here's an example query and response:
constres=awaitprisma.$queryRaw`SELECT bigint, bytes, decimal, date FROM "Table";`console.log(res)// [{ bigint: BigInt("123"), bytes: Buffer.from([1, 2]), decimal: new Prisma.Decimal("12.34"), date: Date("<some_date>") }]
Here's a table that recaps the serialization type-mapping for raw results:
Database Type
Javascript Type
Text
String
Int32
Number
Float
Number
Double
Number
Int64
BigInt
Numeric
Decimal
Bytes
Buffer
Json
Object
DateTime
Date
Date
Date
Time
Date
Uuid
String
Xml
String
2. PostgreSQL type-casts
We've also fixed a lot of PostgreSQL type-casts that were broken by enabling the improvedQueryRaw Preview feature flag.
Here's an example of a query that used to fail:
awaitprisma.$queryRaw`SELECT ${1.5}::int as int`;// Before: db error: ERROR: incorrect binary data format in bind parameter 1// After: [{ int: 2 }]
You can now perform some more type-casts in your queries:
A consequence of this fix is that some subtle implicit casts are now handled more strictly and would fail. Here's an example that used to work but won't work anymore under the improvedQueryRaw feature flag:
awaitprisma.$queryRaw`SELECT LENGTH(${42});`// ERROR: function length(integer) does not exist// HINT: No function matches the given name and argument types. You might need to add explicit type casts.
The LENGTH PostgreSQL function only accept text as input. Prisma used to coerce 42 to text silently, but won’t anymore. As suggested by the hint, cast 42 to text as follows:
3. Query parameters are correctly sent to the database
This improvement is available without the improvedQueryRaw Preview feature flag.
Before this release, query parameters of type BigInt, Bytes, and Decimal were incorrectly sent to the database leading to instances of unexpected inserts. Passing the types as query parameters now works:
awaitprisma.$executeRaw`INSERT INTO "Table" ("bigint", "bytes", "decimal") VALUES (${BigInt("123")}, ${Buffer.from([1,2,3])}, ${newPrisma.Decimal("12.23")});`
Prisma Day is back this year, and it'll be on June 15 - 16 at the JamesJune Sommergarten in Berlin. Join us in-person or online for talks and workshops on modern application development and databases. Come and meet and chat with the team behind the Prisma ORM and Prisma Data Platform.
💼 We're hiring!
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.
All Depfu comment commands
@depfu rebase
Rebases against your default branch and redoes this update
@depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@depfu close
Closes this PR and deletes the branch
@depfu reopen
Restores the branch and reopens this PR (if it's closed)
@depfu pause
Ignores all future updates for this dependency and closes this PR
@depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Welcome to Depfu 👋
This is one of the first three pull requests with dependency updates we've sent your way. We tried to start with a few easy patch-level updates. Hopefully your tests will pass and you can merge this pull request without too much risk. This should give you an idea how Depfu works in general.
After you merge your first pull request, we'll send you a few more. We'll never open more than seven PRs at the same time so you're not getting overwhelmed with updates.
Let us know if you have any questions. Thanks so much for giving Depfu a try!
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ prisma (3.13.0 → 3.15.1) · Repo
Release Notes
3.15.1
3.15.0
3.14.0
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase
.All Depfu comment commands