prisma-orm-v7-skills は何をしますか?
Prisma ORM 7 へのアップグレードにおける主要な事実と破壊的変更。生成やトラブルシューティングの前にバージョン7の変更を考慮します。
はじめに
このスキルは、Prisma ORM 7 に固有の知識を提供します。バージョン7では、いくつかの破壊的変更と新機能が導入されており、古いバージョンから移行する際に注意が必要です。
主要な変更点
破壊的変更
@relationのデフォルト動作の変更: 明示的なリレーション定義が必要になりました。暗黙的なリレーションはサポートされなくなりました。prisma generateの出力パスの変更: デフォルトの出力先がnode_modules/.prisma/clientからnode_modules/@prisma/clientに変更されました。- モデル名の命名規則: モデル名はパスカルケースを推奨します。スネークケースのモデル名は非推奨となり、将来のバージョンで削除される可能性があります。
- クエリエンジンの刷新: 新しい Rust ベースのクエリエンジンが導入され、パフォーマンスと安定性が向上しました。ただし、一部のエッジケースで動作が異なる場合があります。
新機能
- コネクションプーリングの改善: 新しいプーリング戦略により、接続管理が最適化されました。
- インクリメンタル生成: 変更があったモデルのみ再生成することで、生成時間を短縮します。
- 新しいデータ型のサポート:
BigInt,Decimalなどの新しい Prisma データ型が追加されました。
アップグレード手順
prismaパッケージを v7 にアップデートします。
npm install prisma@latest @prisma/client@latest
-
プロジェクトの
schema.prismaファイルを確認し、明示的なリレーション定義に更新します。 -
prisma generateを実行して新しいクライアントを生成します。
npx prisma generate
- 生成されたクライアントのインポートパスを更新します。
import { PrismaClient } from '@prisma/client'
トラブルシューティング
-
エラー:
Model is missing a relationスキーマ内のすべてのリレーションに明示的な@relation属性が追加されていることを確認してください。 -
エラー:
Cannot find module '@prisma/client'正しいパスでインポートしているか確認し、必要に応じてprisma generateを再実行してください。
参考リンク
ライセンス
このスキルは MIT ライセンスの下で公開されています。