30秒で判断
- 対応すべき人: 次世代プレビューライン Prisma Next(0.x 系) を試用しており、
@prisma-next/*スコープのパッケージに依存しているプロジェクト。 - 対応不要な人: 安定版の Prisma 7.x(npm の
latestは 7.9.1) を利用しているチーム。今回の破壊的変更は別系統のため影響しません。Prisma 自体を使っていない場合も同様です。 - 確認コマンド:
npm ls prisma @prisma/clientで導入バージョンを、cat package.json | grep prismaで@prisma-next/*への依存有無を確認できます。
この変更が意味すること
Prisma Next 0.17.0 は「namespace リリース」と位置づけられた、パッケージ体系の刷新版です。Prisma Next は 17 個のパッケージを @prisma スコープ配下で公開する形になり、1つのアプリケーションは「ちょうど1つのデータベースファサード」に依存するという原則が導入されました。
ポイントは、依存の入口を1つに絞ったことです。これまで複数スコープ・複数パッケージに分散していた依存が、@prisma/orm-postgres / @prisma/orm-sqlite / @prisma/orm-mongo のいずれか1つ(+必要な拡張パック)に集約され、残りはその exact-pin 依存として解決されます。依存グラフが明快になり、バージョン不整合のリスクが下がります。
なお本リリースは プレビューライン(0.x) であり、安定版の Prisma 7.x とは別系統です。破壊的変更を含むため、試用中のプロジェクトは公式の 0.16 → 0.17 アップグレードレシピに沿った移行が必要です。
主な変更点
@prisma スコープへの一本化(破壊的変更)
@prisma-next/* スコープは廃止され、今後このスコープでの公開は行われません。アプリは1つのデータベースファサード(@prisma/orm-postgres / @prisma/orm-sqlite / @prisma/orm-mongo)と、利用する拡張パック(@prisma/orm-extension-*)にのみ依存します。contract を再生成すると、生成されるインポートがファサードのエントリポイントへ書き換わります(contractHash は変わりません)。
構造化エラーコード体系の完成
すべての層(plane)に構造化エラーコードが行き渡り、エラーハンドリングをコード単位で一貫して扱えるようになりました。
リレーションロードのロスレス化
大きな数値(big numbers)や時刻・日付(temporal values)を、精度を欠かずにリレーションから読み込めるようになりました。
SQL インデックス / RLS ポリシーの命名
すべての SQL インデックスと RLS(Row Level Security)ポリシーに、正確でマイグレーション可能な名前が付与されるようになりました。
リリース原文: Prisma v0.17.0
EOL / サポート状況
Prisma は endoflife.date の EOL 追跡対象に含まれていないため、明確なサポート期限は公開されていません。安定版の系列は npm の latest(7.9.1)を基準に追随してください。Prisma Next(0.x)は次世代のプレビューラインであり、本番採用前提のものではありません。
開発者への影響
- プレビュー試用者は移行が必須:
@prisma-next/*への依存は解決できなくなります。ファサードパッケージへの移行と contract 再生成が必要です。 - 安定版利用者は影響なし: Prisma 7.x を使っているプロジェクトは、今回の破壊的変更の対象外です。
- 依存管理がシンプルに: 1アプリ=1ファサードの原則により、依存グラフとバージョン整合の見通しが良くなります。
- エラー処理・マイグレーションの一貫性向上: 構造化エラーコードとインデックス/ポリシーの命名により、運用時の追跡性が上がります。
アップデート方法
# Prisma Next(プレビュー)を試用中のプロジェクトのみ対象
# 公式の 0.16 → 0.17 アップグレードレシピに沿って移行してください
# 例: データベースファサードへ依存を集約
npm install @prisma/orm-postgres@0.17.0
# 移行後は contract を再生成
npx prisma generate
安定版を利用している場合は、通常どおり npm install prisma@latest(7.9.1)で問題ありません。
データソース: GitHub Releases API, endoflife.date, npm Registry
