この変更が意味すること
Prisma 7.8.0 がリリースされました。ORM 側の新機能として queryPlanCacheMaxSize オプションが追加され、クエリプランキャッシュのサイズを細かく制御できるようになりました。
また、PostgreSQL の JSON リスト列に対する等価フィルタでパニックが発生する重大なバグと、大文字小文字を区別しない JSON フィールドフィルタリングのバグが修正されています。PostgreSQL で JSON 型を活用しているプロジェクトでは早めのアップデートを推奨します。
主な変更点
queryPlanCacheMaxSize オプションの追加
PrismaClient コンストラクタに queryPlanCacheMaxSize オプションが追加されました。クエリプランキャッシュのサイズを制御できます。
0を指定するとキャッシュを完全に無効化- 省略時はデフォルトのキャッシュサイズを使用
- 大きな値を設定すると、多数のユニーククエリを実行するアプリケーションでパフォーマンスが向上
- 小さな値を設定すると、メモリ使用量を削減可能
PR: #29503
PostgreSQL JSON リスト列の等価フィルタパニック修正
PostgreSQL の JSON リスト列に対して where: { jsonListField: { equals: [...] } } を使用した場合に、型不一致によるパニックや不正な ::jsonb キャストが発生する問題が修正されました。
PR: prisma/prisma-engines#5804
大文字小文字を区別しない JSON フィールドフィルタリングの修正
mode: insensitive を使用した JSON フィールドのフィルタリングが正しく動作するようになりました。
EOL / サポート状況
| サイクル | 最新バージョン | 備考 |
|---|---|---|
| 7.x | 7.8.0 | 現行メジャーバージョン |
| 6.x | 6.19.3 | 前メジャーバージョン(prev タグ) |
Prisma は最新メジャーバージョンがアクティブサポート対象です。6.x 系は prev タグで引き続き利用可能ですが、新機能は 7.x 系にのみ追加されます。
開発者への影響
- PostgreSQL で JSON 列を使用している方: 等価フィルタのパニックと
::jsonbキャストの問題が修正されます。該当するクエリを使用している場合は早めにアップデートしてください - 大量のユニーククエリを実行するアプリケーション:
queryPlanCacheMaxSizeを大きめに設定することでパフォーマンスが向上する可能性があります - メモリ使用量を最適化したい方:
queryPlanCacheMaxSizeを小さい値に設定、または0で無効化してメモリ消費を抑えられます mode: insensitiveで JSON フィールドを検索している方: フィルタリングが正しく動作するようになりました
アップデート方法
# npm
npm install prisma@7.8.0 @prisma/client@7.8.0
# yarn
yarn add prisma@7.8.0 @prisma/client@7.8.0
# pnpm
pnpm add prisma@7.8.0 @prisma/client@7.8.0
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
