Prisma: 4.10.0 Release

Release date:
February 7, 2023
Previous version:
4.9.0 (released January 17, 2023)
Magnitude:
5,521 Diff Delta
Contributors:
14 total committers
Data confidence:
Commits:

104 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Authored December 12, 2022
Authored January 19, 2023
Authored January 18, 2023
Authored February 2, 2023
Authored January 30, 2023
Authored February 2, 2023

Top Contributors in 4.10.0

Jolg42
millsp
jkomyno
SevInf
danstarns
janpio
aqrln
yukukotani
miguelff
prisma-bot

Directory Browser for 4.10.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟

Highlights

Introspection support for PostgreSQL views

We introduced initial support for database views in 4.9.0 with the addition of the view keyword. This release introduces introspection support for PostgreSQL views. You can run prisma db pull against your database to populate your Prisma schema with your views.

To learn more, refer to our documentation on views introspection. Try it out and let us know your thoughts in this GitHub issue.

Improved introspection for unsupported database functionality & partitioned tables

Currently, the Prisma Schema Language(PSL) does not cover the full feature sets of different database providers. For the unsupported database functionality, Prisma provides offers escape hatches like raw queries or manual editing of the migration files.

While we work on adding support for missing database functionality, e.g. database views, some of it is not fully-supported and the escape hatches fail. Objects that use unsupported properties might not be caught during introspection and raw queries might not work. Re-introspection may sometimes remove the information from the schema file and the generated migrations may be invalid or re-generate the same SQL repeatedly.

We're therefore fixing the defects and supporting the unsupported database functionalities Prisma currently doesn't support. We created a list of these features in this GitHub issue we would like to improve.

This release improves introspection support for partitioned tables in PostgreSQL and MySQL. Previously, Prisma would pick up the partitions as models and miss the actual main table. Prisma will now pick up the main table as a model, not the partitions.

If you're already using partitioned tables in your database, you can use prisma db pull to update your Prisma schema. If you're already using Prisma and want to partition a table in your database, you can: 1. Create a draft migration using prisma migrate dev --create-only 1. Update the draft migration with the SQL to partition the tables 1. Re-run prisma migrate dev to apply the draft migration to your database

Try it out and let us know what you think. If you run into an issue, feel free to create a bug report.

Smaller engine size used in Prisma CLI

In 4.8.0, we decreased the size of the engines by ~50%, which significantly impacted Prisma Client, especially in serverless environments.

In this release, we've reduced the size of Prisma CLI by removing the Introspection and Formatter engines. The introspection functionality is now served by the Migration Engine. A cross-platform Wasm module has entirely replaced the Formatter Engine. This reduces the overall installation size for Prisma CLI.

Fixes and improvements

Prisma Client

Prisma

Language tools (e.g. VS Code)

Credits

Huge thanks to @rintaun, @ivan, @Mini256, @yukukotani, @sandrewTx08 for helping!

πŸ“Ί 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" live stream.

The stream takes place on YouTube on Thursday, February 9 at 5 pm Berlin | 8 am San Francisco.