2025年4月8日

Prisma ORM 6.6.0: ESMサポート、D1マイグレーションとMCPサーバー

v6.6.0 Prisma ORMリリースには、エキサイティングな機能が満載です。新しいジェネレーターによるESMサポート、Cloudflare D1およびTursoマイグレーションのEarly Accessサポート、お気に入りのAIツールでデータベースを直接管理するためのMCPサーバーなどです。

Prisma ORM v6.6.0 がリリースされました

ORMマニフェストを公開して以来、私たちは着実にPrisma ORMに意味のある改善を加えてきました。v6.6.0では、ESMサポートや、D1およびTursoデータベースへのスキーマ変更のプッシュの初期バージョンなどの待望の機能を実現しました。

より柔軟なprisma-clientジェネレーターによるESMサポート(Early Access)

より柔軟で、ESMサポートを備え、現在のprisma-client-jsジェネレーターとの摩擦の原因となる可能性のあるマジックな動作を排除した、新しいprisma-clientジェネレーターをご紹介します。

主な違いは以下のとおりです

  • outputパスが必要です。もはやnode_modulesへの「マジック」生成はありません
  • moduleFormatフィールドを介してESMとCommonJSをサポート
  • アプリケーションコードの残りの部分と同じようにバンドルされるプレーンなTypeScriptを出力します。これにより、アプリケーションのバンドルについてより多くの制御と柔軟性が得られます

以前にプロジェクト設定でPrisma ORMに問題が発生した場合(例:モノレポ、Next.js、Viteなど)、この新しいジェネレーターはワークフローを大幅に改善すると考えています。ぜひ試してみて、ご意見をお聞かせください!

Prismaスキーマで新しいprisma-clientジェネレーターを使用する方法は次のとおりです

このジェネレーターには、runtimegeneratedFileExtensionimportFileExtensionなどのフィールドも増えており、生成されたPrisma Clientコードを特定のプロジェクトニーズに適応させるのに役立ちます。

アプリケーションでは、生成されたフォルダーからPrismaClientコンストラクター(およびその他すべて)をインポートできます

現時点では、コンパイル済みのクエリエンジンバイナリが別のマシン(異なるOS)でアプリを実行する場合に互換性の問題を引き起こす可能性があるため、生成された'./generated/prisma'フォルダーを.gitignoreに追加してバージョン管理から除外することをお勧めします

私たちはprisma-clientジェネレーターをprisma-client-jsと比較してよりモダンなバージョンと見なしており、Prisma 7の次のメジャーバージョンインクリメントでデフォルトのジェネレーターにする予定です。以下は、追加を計画しているさらにエキサイティングな機能の一部です

  • 生成されたPrisma Clientファイルを分割して、生成された長いファイルによるコードエディターの速度低下を回避します
  • Prisma Postgresを使用する場合、Accelerate拡張機能は不要になります

LLM経由でPrisma Postgresを管理するMCPサーバー(プレビュー)

Prisma Postgresは、コールドスタートのない最初のサーバーレスデータベースです。最適な効率と高性能を実現するように設計されており、Cursor、Windsurf、Lovable、co.devなどのAIツールと組み合わせて使用するのに最適なデータベースです。今回のリリースでは、お気に入りのAI開発環境に統合できるPrisma MCPサーバーを起動するコマンドを追加しました。

MCPサーバーのおかげで、次のことができるようになりました

  • AIエージェントに新しいDBインスタンスを作成するように指示する
  • データモデルを設計する
  • データベースのマイグレーションについてチャットする

…その他多数。

開始するには、お気に入りのAIツールのMCP構成にこのスニペットを追加してください

Cloudflare D1およびTurso/LibSQLマイグレーション(Early Access)

Cloudflare D1およびTursoは、どちらもSQLiteに基づいた人気のあるデータベースプロバイダーです。それぞれのドライバアダプターを使用してPrisma ORMでクエリできますが、以前のバージョンのPrisma ORMでは、これらのデータベースに対してスキーマ変更を行うことができませんでした。

本日のリリースでは、D1およびTursoのネイティブマイグレーションサポートの最初のEarly Accessバージョンと、以下のコマンドを共有します

  • prisma db push:Prismaスキーマに基づいてリモートデータベースのスキーマを更新します
  • prisma db pull:リモートデータベースのスキーマをイントロスペクトし、ローカルPrismaスキーマを更新します
  • prisma migrate diff:リモートデータベースのスキーマとローカルPrismaスキーマの違いを出力します

prisma migrate devおよびprisma migrate deployのサポートが進行中であり、間もなく提供されます!

これらのコマンドを使用するには、prisma.config.tsファイルでドライバアダプターを使用して、Prisma CLIをD1またはTursoインスタンスに接続する必要があります。以下はD1の例です

その設定で、次のコマンドを実行してD1インスタンスに対してスキーマ変更を実行できるようになりました

詳細については、ドキュメントを参照してください

prisma initの新しい--promptオプション

--promptオプションをprisma initコマンドに渡して、Prismaスキーマをスキャフォールドし、新しいPrisma Postgresインスタンスにデプロイできるようになりました

ソーシャルメディアのトレンドを追っているすべての人向けに、--vibeというエイリアスも作成しました😎

Prisma ORMの未来はエキサイティングです

これはほんの始まりにすぎません。今後数週間から数か月の間に、Prisma ORMにさらにエキサイティングな機能が追加される予定です。次の予定の概要については3か月ロードマップを確認するか、変更ログRustからTypeScriptへの移行によって得られたパフォーマンスの向上など)で最新の開発状況を把握してください。

このリリースについてのご意見をXDiscordでお知らせください。また、今後のエキサイティングな情報を逃さないように、フォローしてください!

次回の投稿をお見逃しなく!

Prismaニュースレターに登録する