現在、Prisma ORMからRustエンジンを削除する作業を進めています。これを試したい場合は、generator
をこのように設定できます。
1generator client {2 provider = "prisma-client-js" // or `prisma-client`3 output = "../generated/prisma"4 previewFeatures = ["queryCompiler", "driverAdapters"]5}
このリリースでは、`queryCompiler`(RustエンジンなしでPrisma ORMを使用可能にする機能)をMS SQL ServerとPlanetScale向けにプレビュー版として提供できることを嬉しく思います(新しい@prisma/adapter-mssql
および既存の@prisma/adapter-planetscale
ドライバーアダプター経由)。
Prisma VS Code拡張機能の一部として、データベース管理UIを最近リリースしました。これにより、Prisma Postgresの視覚的なデータベース管理ワークフローが可能になります。このリリースでは、それに新しい機能を追加しました。同じUIを通じて複数のローカルPrisma Postgresインスタンスを管理できるようになりました。
試すには、VS CodeのサイドバーでPrismaのロゴを見つけ、ローカルのPrisma Postgresインスタンスの管理を開始してください(Dockerは不要です)。
ローカルのPrisma Postgresインスタンスは開発に最適ですが、デプロイ準備が整った後、ローカルからリモートへどのように移行しますか?
VS Codeのデータベース管理UIに、Push to Cloudボタンが追加されました。これにより、ローカルのPrisma Postgresを簡単にデプロイし、デプロイ済みのアプリケーションから接続できるようになります。
データベースの負荷が増大する際に、シャーディングはスケールアップするための一般的な手法です。このリリースから、Prisma ORMはPlanetScaleでのシャーディングをネイティブにサポートします。新しい@shardKey
と@@shardKey
属性をPrismaスキーマのフィールドに適用することで、データベース設定でシャードキーとして機能させることができます。
1// Single-column shard key2model User {3 id String @default(uuid())4 region String @shardKey5}67// Multi-column shard key8model User {9 id String @default(uuid())10 country String11 customerId String12 @@shardKey([country, customerId])13}
この機能を使用するには、ジェネレーター定義でshardKeys
プレビュー機能フラグを設定する必要があります:previewFeatures = ["shardKeys"]
。
最近、リモートPrisma Postgres向けのダイレクト接続をリリースしました。これにより、お気に入りのORMやデータベースツールでPrisma Postgresを使用できるようになりました。このリリースから、これはローカルPrisma Postgresインスタンスでも可能になりました。試すには、prisma dev
コマンドを実行し、postgres://
で始まるダイレクト接続文字列を使用して、任意のツールから接続してください。
Prisma Postgresインスタンスの管理に役立つ新しいリモートMCPサーバーをリリースしました!これにより、AIツールが以下のワークフローを支援できるようになります。
npx -y mcp-remote https://mcp.prisma.io/mcp
コマンドを使用して開始できます。
こちらでは、MCPサーバーが動作し、Warp AIターミナルで直接新しいデータベースを作成しています。
Prisma ORMからRustエンジンを削除する私たちの取り組みに期待を寄せていたものの、早期アクセス(EA)段階にあったため試すのをためらっていた方にとって、Rustフリー版Prisma ORMを試す絶好の機会です。
この主要なアーキテクチャ変更は、今回のリリースでEAからプレビューへと移行しました。これは、既知の大きな問題がないことを意味します。試してみたい場合は、queryCompiler
とdriverAdapters
のプレビュー機能フラグをgenerator
に追加し、データベース用のドライバーアダプターをインストールして開始してください。
1generator client {2 provider = "prisma-client-js"3 previewFeatures = ["queryCompiler", "driverAdapters"]4 output = "../generated/prisma"5}
クエリエンジン、バイナリターゲットによる煩わしさがなくなり、サーバーレスおよびエッジ環境での体験がさらにスムーズになります! 詳細はドキュメントをご覧ください。
GAリリース以来、Prisma PostgresはPrisma ORMを使用してカスタム接続文字列経由でのみ操作できました。
これは変更されました。新しいPrisma Postgresインスタンスを設定する際、通常のPostgreSQL直接TCP接続文字列( postgres://...
で始まる)が提供され、Drizzle、Kysely、TypeORMなどのお気に入りのツールやデータベースライブラリを使用して接続できるようになります。
サーバーレス環境からPrisma Postgresにアクセスしたい場合は、新しい サーバーレスドライバー (早期アクセス)も使用できます。 詳細についてはドキュメントをご覧ください。
Prisma Postgresのバックアップおよび復元メカニズムは最近大幅にアップグレードされました。Prisma ConsoleのUIを通じて、以前のバックアップを簡単に復元できるようになりました。
データベース表示時に新しい バックアップ タブを見つけ、リストから任意のバックアップを選択して、その状態を過去の時点に復元できます。 詳細はドキュメントをご覧ください。
Prisma ORMを使用しているなら、私たち提供の VS Code拡張機能 も使用している可能性が高いでしょう。最新リリースでは、データベース管理用のUIという主要な新機能を追加しました。
この新しいUIで、以下のことができます。
新機能を使用するには、最新バージョンのPrisma VS Code拡張機能がインストールされていることを確認し、VS Codeの アクティビティバー にある新しい Prismaロゴ を探してください。 詳細はドキュメントをご覧ください。
前回のリリースでは、新しい prisma dev
コマンドを使用してローカルでPrisma Postgresインスタンスを起動できるようになりました。 ローカルPrisma Postgres は内部でPGliteを使用しており、リモートPrisma Postgresインスタンスと全く同じ体験を提供します。
このリリースでは、この機能に主要な改善が加えられています。
prisma dev
の呼び出し間でデータベースを永続化します。prisma init
の実行がデフォルトでローカルPrisma Postgresを使用するようになりました。ぜひお試しいただき、ご意見をお聞かせください。 この機能の詳細については ドキュメント をご覧ください。
us-west-1
)Prisma Postgresの利用可能地域を世界中で拡大し続けています!数週間前にシンガポールを追加したばかりですが、今度はXで実施した別のアンケートに基づいてサンフランシスコを追加します。現在Prisma Postgresインスタンスを起動できるすべてのリージョンは以下のとおりです。
us-west-1
: サンフランシスコ (新規!)us-east-1
: 北バージニアeu-west-3
: パリap-northeast-1
: 東京ap-southeast-1
: シンガポールPrisma Postgresの次のアベイラビリティゾーンを決定するアンケートに参加するために、私たちのXアカウントにご注目ください!
Prisma Postgresの料金モデルのシンプルさに、開発者はしばしば驚かされます。この記事では、料金の仕組み、なぜそれが優れていると考えるのか、そして月末に請求額がより予測可能になる方法について説明します。
Prisma ORMはこれまで、そのデータベースクライアントをnode_modules
に生成してきました。この記事では、当初の決定理由、それ以来学んだこと、そして今後変更していく点について説明します。
AIツールはますます強力になっていますが、それらは本当に何ができるのでしょうか?私たちはそれらをテストし、プロンプトだけで本格的なEコマースアプリを構築しました。結果がどうなったか興味があれば、この記事を読んでください。
prisma dev
経由でのPrisma Postgresとのローカル開発(早期アクセス)6.8.0では、Prisma Postgresに対して ローカルで 開発する方法をリリースしました — Dockerは不要です!
開始するには、新しい prisma dev
コマンドを実行します。
1npx prisma dev # starts a local Prisma Postgres server
このコマンドはローカルのPrisma Postgresインスタンスを起動し、ローカルのPrisma Postgresインスタンスを指すように datasource
ブロックの url
として設定する必要がある接続URLを出力します。これは次のようになります。
1datasource db {2 provider = "postgresql"3 url = "prisma+postgres://:51213/?api_key=ey..."4}
その後、このローカルPrisma Postgresインスタンスに対して、リモートインスタンスと同様にマイグレーションを実行したり、クエリを実行したりできます。
prisma-client
ジェネレーターにおけるネイティブDenoサポート(プレビュー) prisma-client-js
ジェネレーターから deno
プレビュー機能を削除しました。DenoでPrisma ORMを使用したい場合は、新しい prisma-client
ジェネレーターで可能になりました。
1generator client {2 provider = "prisma-client"3 output = "../src/generated/prisma"4 runtime = "deno"5}
Prisma VS Code拡張機能の最新リリースでは、VS Codeのエージェントモードに新しい機能が追加されました。VS Codeを使用しており、Prisma VS Code拡張機能がインストールされている場合、エージェントは以下のようなデータベースワークフローを支援できるようになります。
必要なのは、PrismaのVS Code拡張機能の最新バージョンを使用していることを確認することだけで、エージェントはすぐに利用できます 🚀
新しいGitHub用Prisma Copilot拡張機能を使えば、Prismaのドキュメントから直接質問し、すぐに回答を得ることができます。
先日、Prisma Postgresの次に追加してほしいリージョンについてアンケートを実施しました。最も多く票が集まったのは アジア太平洋(シンガポール) で、本日より ap-southeast-1
リージョンで新しいPrisma Postgresインスタンスを起動できるようになりました。
私たちはここで止まりません。Xにご注目ください 。追加すべきお気に入りのリージョンを尋ねる別のアンケートを実施します!
この技術的な詳細では、MCPサーバーの構造の概要を説明し、Prisma用のサーバーをどのように構築したかを解説します。この記事では、ローカルMCPサーバーとリモートMCPサーバーのトレードオフ、 @modelcontextprotocol/sdk
パッケージ、そしてLLMがPrisma CLIを使用できるようにした方法について取り上げています。ブログで記事を読む。
データベースのサーバーレス課金は、理解し正確に予測することが非常に難しいことで知られています。Prisma Postgresのこの課金上のジレンマを解決する方法を考える際、私たちは物事を簡単にしたいと考えました。私たちのオペレーションベースのモデルは、料金を簡素化し、リソースサイズや抽象的な計算時間メトリックについて考える必要をなくします。ブログで記事を読む。
Prisma PostgresがVercel Marketplace統合として利用可能になったことを発表できることを嬉しく思います。この統合により、次のことが可能になります。
私たちのスターターテンプレートでお試しいただき、XとDiscordでご意見をお聞かせください!
フロントエンドアプリで必要なのは、単純なデータの一部であることもあります!このような状況のために、Prisma Postgresに新しい機能をリリースしました。これにより、フロントエンドから安全な方法でデータベースと直接やり取りできます!
Prisma Postgresの新しいセキュリティルール機能を使用すると、TypeScriptでデータベースに対するきめ細かなアクセスルールを直接定義できます。プライベート早期アクセスプログラムにご参加いただき、Prisma Postgresを試す最初の開発者の一人となり、フィードバックでその未来を形作るお手伝いをしてください。
Prisma ORMは急速に改善を続けています!6.7.0リリースでは、主要なマイルストーンを達成し、RustエンジンなしのPrisma ORMの最初のバージョンを公開しました。
Rustから移行する理由 について広範に記述しており、リライトによって確認された パフォーマンス向上の最初の測定結果 もすでに共有しています。
このリライトは、単なるプログラミング言語間の移行ではありません。Prisma ORMのアーキテクチャを根本的に改善し、Query Engine(Rustで書かれ、スタンドアロンのバイナリとしてデプロイされる)を、私たちが Query Compiler と呼ぶ、はるかに軽量で効率的なアプローチに置き換えます。
新しい「Rustフリー」版のPrisma ORMを使用するには、 queryCompiler
(新規)および driverAdapters
機能フラグをクライアントジェネレーターに追加してください。
1generator client {2 provider = "prisma-client-js"3 previewFeatures = ["queryCompiler", "driverAdapters"]4 output = "../generated/prisma"5}
📚 詳細については ドキュメント をご覧ください。
better-sqlite3
JavaScriptドライバーのサポート(プレビュー)このリリースでは、 better-sqlite3
パッケージを使用するための新しいドライバーアダプターを導入しており、これによりSQLiteデータベースとJSネイティブな方法でやり取りできるようになります。
1import { PrismaBetterSQLite3 } from '@prisma/adapter-better-sqlite3';2import { PrismaClient } from './generated/prisma';34const adapter = new PrismaBetterSQLite3({5 url: "file:./prisma/dev.db"6});7const prisma = new PrismaClient({ adapter });
📚 詳細については ドキュメント をご覧ください。
prismaSchemaFolder
プレビュー機能が一般提供に移行します 🎉 この変更により、Prisma ORMはデフォルトでPrismaスキーマファイルの分割をサポートするようになりました。
📚 詳細については ドキュメント をご覧ください。
prisma-client
ジェネレーターによる生成出力の分割(プレビュー) prisma-client-js
ジェネレーターでは、生成されたPrisma Clientライブラリが単一の index.d.ts
ファイルに配置されます。これにより、大規模なスキーマの場合、生成された出力のサイズがコードエディターの動作を遅くしたり、オートコンプリートを壊したりする 問題 が発生することがありました。
このリリースから、新しい prisma-client
ジェネレーター( 6.6.0 でリリース)は、生成されたPrisma Clientライブラリを複数のファイルに分割し、単一の大きな出力ファイルの問題を回避します。
📚 詳細については ドキュメント をご覧ください。
私たちは、様々なプロジェクトやコンテキストでデータベースを扱う方法について皆さんを教育することを楽しみにしています!ここ数週間、開発者としてデータベーススキルを向上させたい方のために、いくつかの記事をブログに公開しました。
最近、ORMチームとのAMA(何でも聞いてください)を再度開催し、新しいprisma-client
ジェネレーター、ESMサポート、D1マイグレーション、TypeScriptへの移行に関するすべての新しい内容について議論しました。今すぐYouTubeでご覧いただけます。
Prisma Postgres はコールドスタートのない最初のサーバーレスデータベースです。最適な効率と高いパフォーマンスのために設計されており、Cursor、Windsurf、Lovable、co.devなどのAIツールと併用するのに最適なデータベースです。
v6.6.0 ORMリリースでは、AI開発環境に統合できるPrisma MCPサーバーを起動するコマンドを追加しました。このMCPサーバーのおかげで、これで次のことができるようになります。
…その他多数。
開始するには、このスニペットをお気に入りのAIツールのMCP構成に追加して開始してください。
1{2 "mcpServers": {3 "Prisma": {4 "command": "npx",5 "args": ["-y", "prisma", "mcp"]6 }7 }8}
MCPサーバーの詳細についてはブログをご覧ください:PrismaのMCPサーバーを発表:Prisma PostgresでVibe Code
Prisma ORM v6.6.0 は素晴らしい機能が満載です。
prisma-client
ジェネレーター(早期アクセス)v6.6.0では、より柔軟でESMサポートを備え、現在の prisma-client-js
ジェネレーターとの摩擦を引き起こす可能性のある「魔法の挙動」を排除した新しい prisma-client
ジェネレーターを導入しました。
注: prisma-client
ジェネレーターは現在 早期アクセス 段階であり、今後のリリースで破壊的な変更が含まれる可能性があります。
主な違いは以下の通りです。
output
パスが必須になり、 node_modules
への「魔法の」生成はなくなります。moduleFormat
フィールドを介してESMとCommonJSをサポートします。Prismaスキーマで新しい prisma-client
ジェネレーターを使用する方法は次のとおりです。
1// prisma/schema.prisma2generator client {3 provider = "prisma-client" // no `-js` at the end4 output = "../src/generated/prisma" // `output` is required5 moduleFormat = "esm" // or `"cjs"` for CommonJS6}
📚 詳細については ドキュメント をご覧ください。
Cloudflare D1とTursoは、どちらもSQLiteベースの人気のあるデータベースプロバイダーです。D1またはTursoのそれぞれのドライバーアダプターを使用してクエリを実行できますが、以前のバージョンのPrisma ORMではこれらのデータベースに対してスキーマ変更を行うことができませんでした。
v6.6.0リリースでは、以下のコマンドに対するネイティブD1マイグレーションサポートの最初の早期アクセス版を公開しています。
prisma db push
: Prismaスキーマに基づいてリモートデータベースのスキーマを更新します。prisma db pull
: リモートデータベースのスキーマをイントロスペクトし、ローカルのPrismaスキーマを更新します。prisma migrate diff
: リモートデータベースのスキーマとローカルのPrismaスキーマの差分を出力します。📚 詳細はドキュメントをご覧ください
npx prisma init --prompt "An encyclopedia for cats"
prisma init
コマンドに --prompt
オプションを渡せるようになり、Prismaスキーマをスキャフォールドし、新しいPrisma Postgresインスタンスにデプロイできるようになりました。
1npx prisma init --prompt "An encyclopedia for cats"
ソーシャルメディアのトレンドを追う皆さんのために、 --vibe
というエイリアスも作成しました 😉
1npx prisma init --vibe "Cat meme generator"
当社のORMチームは、RustからTypeScriptへの移行を着実に進めています。移行計画を策定し、現在ではベンチマーク付きの初期プロトタイプが完成しました!
今四半期は、さまざまなデータベースのサポートを順次リリースすることで勢いを維持します。詳細については、最新のORMロードマップをご覧ください。
Prisma ORM 6.5.0が2つの大きな新機能を伴ってリリースされました!
まず、prisma migrate dev
コマンドによるデータベースのリセットはサポートされなくなりました。スキーマのドリフトが検出された場合、またはマイグレーションをクリーンに適用できない場合は、エラーを出力し、既存のprisma migrate reset
コマンドのような回避策を提案します。
次に、新しいprisma.config.ts
ファイルの責任範囲をStudioまで拡大しました!これにより、ドライバーアダプターのようなモダンなPrisma ORM機能に裏打ちされたPrisma Studioを実行できるようになります。詳細については、Prisma Configのドキュメントをご覧ください。
当社のホスト型PostgreSQLサービスであるPrisma Postgresが本番環境に対応しました!
Prisma Postgresは標準で以下の機能を備えているため、ついにデータベースサービスを提供できることを大変嬉しく思います。
詳細については、Prisma Postgresに関するブログ記事をご覧ください。お急ぎの場合は、prisma init
で新しい--db
フラグを使用して開始できます。
また、Prisma Postgresをあらゆる場所で利用できるようにする準備も整っています。Instant Prisma Postgresイニシアチブにより、Prisma PostgresはLLMを通じて利用可能になり、次のプロジェクト用のデータベースを即座に取得できるようになります。
Prisma ORM 6.4.0がリリースされ、いくつかの素晴らしい新機能が追加されました。
prisma.config.ts
ファイルPrisma ORM 6.4.0では、早期アクセス版としてPrisma ORM用の新しい設定ファイルを導入します。
試してみたい場合は、このようなprisma.config.ts
ファイルを作成するだけです。
1import path from 'node:path'23export default {4 earlyAccess: true, // required while in Early Access56 schema: {7 kind: 'single', // use 'multi' if you're using the `prismaSchemaFolder` preview feature8 filePath: path.join('custom', 'prisma', 'schema.prisma') // key should be 'folderPath' if you're using the `prismaSchemaFolder` preview feature.9 },10}
詳細については、当社のドキュメントをご覧ください。
Prisma Optimizeは、アプリケーションの低速なクエリや潜在的な問題を診断するためのクラウドベースのツールです。最近、オンボーディングを全面的に見直し、サインアップから最適化までをより迅速に行えるようにしました!
いつものように、私たちのチームが共有した素晴らしい記事が多数あります。以下にいくつかのハイライトを示します。
GreatFrontEndは開発者の成功を支援します:GreatFrontEndは、将来のフロントエンド開発者が面接で優秀な成績を収めるのに役立ちます。彼らのプラットフォームと、Prismaがいかにそれを支えているかについて学びましょう!
Prisma Postgresクエリのライフサイクル:Prisma Postgresは洗練されていますが、その裏には多くの技術があります。あなたのクエリがどのように私たちのインフラストラクチャを横断するかを学ぶために読み進めてください。
お気に入りの環境でPrisma Postgres:私たちの目標は、開発をより簡単ことことです。Prisma Postgresに関しては、開発環境で確実に動作するようにすることです。Netlify、IDX、Vercelなど、Prisma Postgresへのアクセスがシームレスになるようにする方法を学びましょう!
Prisma ORMとCursorのベストプラクティス:LLM強化型IDEは開発者の生産性に驚異的な効果をもたらしています。Prisma ORMプロジェクトでそれらを最大限に活用するために、この便利なガイドをご覧ください!
Prisma Studioの新バージョンをリリースしました! このバージョンはPrisma ORM 6.3.0に同梱されており、コンソール版Prisma Studioの華々しい復活も意味します。
詳細は必ずブログ記事をご覧くださいが、ここでは簡単なリストです。
これらの変更は、Prisma Data Platformに接続されたデータベースと、Prisma ORM 6.3.0を使用するプロジェクトでライブになりました。npx prisma studio
を使用するだけです!
Prisma Studioの更新に加え、Prisma ORM 6.3.0では、皆様の体験をさらに向上させるためのいくつかの生活の質を向上させる修正が含まれています。
updateMany()
とdeleteMany()
の影響を受ける行をlimit
できるようになりました。generator
フィールドが決定論的にソートされるようになりました(ランダムな変更はもうありません!)。NOT IN
をNOT EXISTS
に置き換えました。いつものように、詳細についてはリリースノートをご覧ください。
私たちのORMマニフェストでは、数年間更新がなく陳腐化したプレビュー機能がいくつかあることを指摘していました。当社のORMチームが既存の機能とその実装を検討し、それらにどのように取り組むかについての計画をGitHubで提供したことを報告できることを嬉しく思います!
念のため申し上げますが、機能がプレビュー段階に入ると、次の3ヶ月以内にその機能を廃止するか、正式版に昇格させる計画です。
私たちは、Prismaのエクスペリエンスが最高のものとなるよう、執筆に励んでいます。これまでに取り組んできたことをご紹介します。
Prisma ORM 6.2.0はマイナーリリースかもしれませんが、その変更は主要です。このリリースでは、omit API(最も要望の多かった機能)を一般提供に移行します。これで、プレビュー機能フラグなしでomit APIを使用できます!
6.2.0には、その他にも多くの要望が寄せられた機能が含まれています。
json
とenum
フィールドupdateManyAndReturn
のサポートいつものように、詳細についてはリリースノートをご覧ください。
私たちはしばらく前からドキュメントでkapa.aiを使用しており、良いことしかありません!そのため、Ask AI機能がPrisma Consoleに統合されました。あなたとあなたが閲覧しているコンテンツに合わせた回答を得られます🤩
Prisma Optimizeは、データベースのパフォーマンス向上に役立つ5つの新しい推奨事項で改善を続けています。
CURRENT_TIME
の代わりにCURRENT_TIMESTAMP
/ LOCALTIMESTAMP
/ CURRENT_DATE
/ LOCALTIME
の使用を推奨Prisma Accelerateが10億クエリを達成したのが昨日のことのように思えますが、今ではそれをはるかに超えています。150億のPrisma Accelerateクエリに加え、最新の製品であるPrisma Postgresが1万データベース作成を達成したことを嬉しく思います。早期アクセス期間中にPrisma Postgresを試してくださった皆様、ありがとうございます!
この冬は気温が下がっているかもしれませんが、私たちのチームの執筆は活発化しています!過去3週間で私たちは以下のことについて語りました。
prismaSchemaFolder
プレビュー機能を使って、複数のスキーマファイルを利用してDBを整理しましょう!その他多数!最新のコンテンツについては、X、Bluesky、YouTubeのアカウントを必ずチェックしてください。
このページでお気づきかもしれませんが、新しい共有機能が追加されました!ブログや変更ログ全体で、X、Bluesky、LinkedInなどで簡単に共有できるボタンが利用可能です!
Prisma ORM 6.1.0のリリースには大変興奮しています。当社のtracing
プレビュー機能が安定版になりました!tracing
機能を使用している場合はいくつかの変更が必要です。詳細は必ずリリースノートをご覧ください。
ORMに関するもう一つの大きな発表です。ORMに関する私たちの見解と、今後どのようにガバナンスに取り組むかを説明するマニフェストを公開しました。文書全体を読むべきですが、少しネタバレすると、四半期ごとのロードマップ、より洗練された強力なORM、そしてコラボレーションと貢献のためのより簡単なパスを期待してください。
Prisma Postgresの発表に続き、Prisma Postgresを早期アクセス期間中に無料で提供した後、今度はPrisma PostgresでPrisma Studioが利用できるようになりました!Prisma Consoleに直接埋め込まれたPrisma Studioは、オンラインでデータを表示および編集することを可能にします。
Prisma Optimizeは、データベースの健全性を向上させるための2つの新しい推奨事項により、常に改善されています。
💸 @db.Money
を避けることで効率を向上
⏰ 時間の丸め誤差のため、@db.timestamp(0)と@db.timestamptz(0)
の使用を避けてください。
世界中のPrisma Accelerateクエリのライブアクティビティビューをリリースしました!世界中の開発者がPrisma Accelerateを使ってプロジェクトをスケールさせているのを見るのは素晴らしいことです。
Prismaチームは、構築だけでなく執筆にも精力的に取り組んできました。
今回の変更ログ(そして2024年!)を締めくくるにあたり、Prismaチームはコミュニティに感謝の意を表したいと思います。コミュニティへの再コミットメントを表明したORMマニフェストに加え、GitHubリポジトリで40,000スターを獲得したことも祝っています。私たちは長い道のりを歩んできましたが、これはPrismaにとってまだ始まりに過ぎません。皆様とご一緒できて、これ以上嬉しいことはありません。
Prisma 6が登場し、将来性への対応とパフォーマンスの向上をもたらします。TypeScriptとNode.jsの最小サポートバージョンを更新し、fullTextIndex
およびfullTextSearch
機能を一般提供に昇格させることで、全文検索機能を大幅に改善しました。
私たちの新しいサーバーレスPostgreSQLデータベース、Prisma Postgresは、早期アクセス期間中も無料です!詳細については、ブログをご覧ください。
また、TablePlusやPgAdminなど、お気に入りのデータベース管理ツールからPrisma Postgresへの接続に関するフィードバックも収集しています。ご意見をこちらでお聞かせください:pris.ly/i-want-tcp。
Prisma Postgresをお試しいただき、ユースケースに合わせて改善するためのご提案がありましたら、こちらでフィードバックをお寄せください:pris.ly/ppg-feedback。
Prismaでは、常に皆様の開発体験を向上させるよう努めています。最近Prisma ORMまたはPrismaの商用サービスをご利用された方は、ぜひご意見をお聞かせください!皆様の洞察は、私たちのツールの未来を形作る上で非常に貴重です。
👉 この2分間の簡単なアンケートでご意見をお聞かせください。
最大のニュースです:PrismaがマネージドPostgreSQLサービスを提供するようになりました!早期アクセスとして提供されるPrisma Postgresは、従量課金制のサーバーレスPostgresサービスで、競争力のある料金とコールドスタートなしを実現します!
私たちは、Prisma Postgresを支えるテクノロジーがデータベースサービスにとっての未来の道であると確信しています。ブログでPrisma Postgresをどのように実現したかを詳しく解説しました。
私たちはPrisma ORM 5.22.0でPrisma ORMの体験を改善し続けています。このリリースでは、tracing
プレビュー機能の改善と、メトリクスとコネクションプーリングにおける煩わしいバグの修正に注力しました。
私たちは時折、Prismaを使用することで何が可能になるかを示す素晴らしい例を作成するために他社と協力しています。trigger.devとの最近のコラボレーションで、強力でスケーラブルなビデオ処理パイプラインを作成できることをご紹介できることを大変嬉しく思います。
また、コミュニティからは、初めて私たちのツールを試す際に、どこから始めればよいか分かりにくいという声も聞かれます。それを解決するため、特定の製品の始め方を示すスタータープロジェクトの作成を開始しました。本日は、try-prisma
を通じて利用できるOptimizeスタータープロジェクトをご紹介します!
このリリースにより、Prisma Optimizeはデータベース操作のパフォーマンスを向上させるのに役立つ2つの新しい推奨事項を提供します。新しい洞察を探り、最適化エンジンを最大限に活用して開発体験を効率化してください。
PrismaがGDPR、HIPAA、ISO 27001、SOC-2 Type IIに準拠していることをご存知でしたか?大変な作業でしたが、やり遂げました!そして今、コンプライアンスおよび認定要件を把握しやすくしました。詳細なコンプライアンス文書、認定、監査ログをワークスペース設定で直接表示できるようになりました。この追加により、ガバナンスが簡素化され、組織がセキュリティおよびデータ保護に必要な基準を満たしていることを確認するのに役立ちます。当社の認定に関する詳細情報については、トラストセンターをご参照ください:https://trust.prisma.io/
私たちのブログがリニューアルされました!まったく新しい外観と操作性に加え、より速く投稿を見つけられるように検索機能が導入されました。製品の更新情報、チュートリアル、コミュニティのストーリーなど、何を探している場合でも、改善されたブログ体験により、これまで以上に情報を簡単に入手できます。
新しいランディングページをご覧ください:https://prisma.dokyumento.jp/blog
Prisma ORM 5.21.0では、tracing
プレビュー機能をGAに移行できるように、いくつかのバグ修正と必要な機能強化が行われています。
私たちは成長しています!開発ツールに情熱を持ち、データベースの未来に貢献したい方は、ぜひご連絡ください。Prismaでは現在、エンジニアリング、開発者アドボカシー、製品など、複数のチームで採用を行っています。採用ページにアクセスして詳細を確認し、あなたのスキルに合った役割があるかどうかを確認してください。
Prisma OptimizeがGAになり、AIを活用したツールでデータベースクエリのパフォーマンスを分析・改善できるようになりました。問題のあるクエリを特定し、行の削減やインデックスの追加といった実用的なインサイトを提供し、パフォーマンスの改善をリアルタイムで追跡できます。
詳細については、発表ブログ記事をご覧ください。
これで、クエリ結果をより長くキャッシュし、データが変更されたときに無効化できるようになりました。これにより、最高のパフォーマンスを維持しながらデータを最新の状態に保つことができます。
🔖 ブログを見る
この要望の多かった機能により、料金プランに基づいてクエリ制限を設定し、より長いデータベースクエリ時間やより大きな応答サイズを処理できるようになります。
👉 詳細についてはドキュメントをご覧ください。
strictUndefinedChecks
を導入!Prisma ORM 5.20.0では、プレビュー機能strictUndefinedChecks
により、明示的にundefined
である値は許可されず、ランタイムエラーになります。この変更は、このGitHubイシューからの直接的なフィードバックであり、同じ問題に関する最新の提案に沿ったものです。
さらに詳しく知りたい場合は、最新のリリースノートをご覧ください!
🤝 私たちはInngestと協力し、Prisma PulseとInngestを組み合わせて、強力で拡張可能なリアルタイムワークフローを構築する方法をデモンストレーションしました。
何千人もの開発者が、人気のTypeScript ORM、シームレスな接続プーリング、高度なキャッシュ、リアルタイムイベントストリーミング、そして洞察に満ちたクエリ最適化のためにPrismaを使用しています。
👉 ブログ記事で、当社の製品が連携して型安全性、生産性、柔軟性を実現する方法をご覧ください。
Prisma ORMに、生のSQLクエリに型安全性をもたらす新機能TypedSQL
を導入できることを嬉しく思います。TypedSQL
を使用すると、.sql
ファイルで生のSQLを記述し、Prismaプロジェクト内でタイプチェックとオートコンプリートの恩恵を享受できます。
prisma generate --sql
コマンドを使用してこれらのクエリを統合し、$queryRawTyped
関数を使用して実行するだけです。この更新により、生のSQLの柔軟性とPrismaの安全性の間のギャップが埋まり、開発プロセスがよりスムーズで信頼性の高いものになります。
TypedSQLの詳細と使用開始方法については、ドキュメント、最新のブログ記事、そしてビデオをご覧ください!
Prisma Accelerateにオートスケーリングを導入できることを嬉しく思います。これは、需要に基づいてアプリケーションをシームレスにスケールするために設計された機能です。
この新機能により、Prisma Accelerateは、突然のトラフィック急増や着実な成長に対応して、最適なパフォーマンスを確保するためにリソースを自動的に調整します。これにより、手動での介入が減り、アプリケーションの構築に集中できるようになります。私たちは、お客様の開発体験を可能な限りスムーズにすることに尽力しており、オートスケーリングはその大きな一歩です。
コネクションプーリングがアプリケーションにどのように役立つか、また接続制限を設定するためのベストプラクティスについては、私たちのブログ記事で詳しく学べます。
Prisma Pulseは静的IPをサポートし、固定IPアドレスでPrisma Data Platformへのアクセスを制御することでセキュリティを強化します。この機能により、信頼できるネットワークのみがデータとやり取りできるようになり、アプリケーションに追加の保護レイヤーを提供します。これはすべて、データの管理においてより多くの制御と安心を提供することを目的としています。
最新の投稿を確認し、プラットフォームコンソールにアクセスして開始してください。
Prisma Pulseは、Neon上のPostgresデータベースで完全にサポートされる統合となりました。今すぐガイドを読んで開始してください。
Prisma ORMは2021年に本番環境向けにリリースされ、最近npmで最もダウンロードされたデータベースライブラリとなりました!皆様の素晴らしいご支援なしには、ここにいることはできませんでした💜
私たちの旅を振り返り、Prismaの次なる展開を共有する最新のブログ記事をご覧ください。
🎉 Prisma ORMで最新バージョンのUUIDを使用できるようになり、アプリケーションの柔軟性と将来性がさらに向上します。
これをサポートするため、Prismaスキーマのuuid()
関数を更新し、オプションの整数引数を受け入れるようにしました。現在、有効な値は4
と7
のみで、4
がデフォルトです。
詳細については、最新のリリースノートをご覧ください。
🛠 Pulse .stream()
APIのイベント損失を解決
Pulse .stream()
APIが予期せずイベントの受信を停止し、手動で切断と再接続が必要になる問題を修正しました。これはPulseバックエンドの競合状態が原因でしたが、特定され修正されました。イベントストリームはより信頼性が高く、中断されなくなります。
🚀 Pulseセットアップ時のエラーフィードバックを強化
Pulseセットアップ中に表示されるエラーメッセージを改善しました。以前は、一部のサポートされていないデータベース構成を使用しているユーザーは一般的なエラーメッセージに遭遇していましたが、Pulseはこれらの問題をより効率的に解決するのに役立つ、より明確で指示的なフィードバックを提供するようになりました。
🔍 Nuxt.js、SolidStart、SvelteKitを使った最新のサンプルアプリを詳しく見て、Prisma Accelerateを実装し、効果的なキャッシュ戦略を適用してデータ取得を高速化する方法を学びましょう。
お好みのフレームワークのコード例をご覧ください
パフォーマンスはPrismaにとって重要なトピックです!
📊 そのため、AWS RDS、Supabase、NeonでホストされているPostgreSQLデータベースを使用して、Prisma ORM、Drizzle ORM、TypeORMを比較するオープンソースベンチマークを作成しました。
私たちの方法論についてもっと読む、結果の概要を見る、そしてPrisma ORMクエリが最適な速度であることを確認する方法を学びましょう。
Prisma AccelerateとPrisma PulseがAWS Marketplaceで利用可能になりました!
シームレスな統合と統一された請求により、インフラストラクチャ管理を簡素化します。
AWSでPrismaを今すぐ始める方法については、私たちのブログ記事でご確認ください。
プロジェクトでPrisma ORMをどのように使用しているか知りたいです!ぜひ2分間のアンケートにご協力いただき、お好きな点や改善点をお知らせください🙏
queryRaw
の応答形式を変更し、平均サイズを小さくすることで、シリアル化のCPUオーバーヘッドを削減しました。改善前後の測定結果をご覧ください。
大規模なデータセットをクエリする場合、グラフで明確に示されているように、メモリ使用量の改善と最大2倍のパフォーマンス向上が見込まれます。最新の5.17.0リリースでこれらの改善を導入できることを大変嬉しく思います!
5.17では、VS Code拡張機能の利便性を向上させるいくつかの改善を導入しました。これにより、操作性が大幅に向上します!
追加された機能の一部は以下の通りです。
詳細については、最新のリリースノートをご覧ください。
すでにPrisma ORMで構築していますか?新しいドキュメントページ「Going Beyond Prisma ORM」で、Prisma AccelerateとPrisma Pulseが、ユーザーが求めているリアルタイム機能で、より高速でスケーラブルなアプリケーションの開発をどのように支援するかをご覧ください。
アプリケーションを構築する際に発生する一般的な問題と、Prisma ORMの後にAccelerateとPulseがアプリケーションを次のレベルに引き上げる方法について見ていきます。
クリエイター向けフィットネスマーケットプレイスのリーディングカンパニーであるSolinは、Prisma Accelerateを統合することでプラットフォームを改善しました。この事例は、Prisma Accelerateがスケーラブルな接続プールとグローバルデータベースキャッシュにより、パフォーマンスと信頼性を向上させ、Solinの成功にどのように貢献したかを強調しています。
私たちのブログ記事をチェックして、彼らのアーキテクチャとAccelerateで得られた素晴らしい結果についてもっと学びましょう!
私たちはAWSとCloudflareで稼働しているため、両者間の広範なレイテンシデータを収集しています。このデータは私たちにとっても興味深いものなので、第1回年次クラウド接続レポートを共有できることを嬉しく思います!
レポートはこちらでご覧いただけます。レイテンシに関する詳細な情報もご確認ください。
5.13.0で、Prisma Clientのクエリオプション内にomit
オプションのプレビューサポートを導入しました。今回、omitApi
プレビュー機能を拡張し、グローバルにフィールドを省略する機能も含むことを発表できることを大変嬉しく思います。
以下は、Prisma Clientをローカルまたはグローバルにインスタンス化する際に、省略するフィールドを定義する方法の例です。
詳細については、最新のブログ記事をご覧ください。
prismaSchemaFolderプレビュー機能
への変更複数ファイルスキーマのサポートを継続的に改善するため、prismaSchemaFolder
機能にいくつかの破壊的な変更があります。
prismaSchemaFolder機能を使用してPrismaスキーマファイルで相対パスを使用する場合、パスはprisma/schemaフォルダーに対する相対パスではなく、定義されているファイルに対する相対パスになります。
マイグレーション中に、多くの人がprisma/schema
とprisma/schema.prisma
の両方を持っていることに気づきました。当初の実装では、まず.prisma
ファイルを探し、schema
フォルダーが存在する場合はそれを無視していました。これは現在、エラーとなります。
新しいGoogle認証オプションにより、http://console.prisma.ioへのサインイン時の選択肢が増えました。
さらなる認証オプションにご期待ください!
Prismaは、SOC2 Type II、HIPAA、GDPR、ISO 27001:2022認証に必要なプロセスとコントロールを正常に実装しました。これらの成果は、データベースを扱う開発者向けに安全で信頼性の高いソフトウェアソリューションを提供するという当社のコミットメントを示すものです。
詳細については、ブログ記事をご覧ください。
NuxtアプリでのPrisma ORMの設定を簡素化し、Nuxt DevツールでPrisma Studioを探索しましょう。詳細については、ブログ記事をご覧ください。
Prismaで素晴らしいものを構築しましたか?🌟 これらのバッジでそれを披露しましょう。READMEやウェブサイトに最適です。バッジの埋め込みについて詳しく学ぶ。
Pulseは、データベースの変更に反応することで、イベント駆動型アプリを簡単に構築できるようにします。新しいイベント永続化機能のおかげで、すべてのデータベース変更イベントは、少なくとも一度、そして正しい順序で配信されることが保証されるようになりました!
詳細を知り、Pulseを自分で試してみたいですか?私たちのブログ記事を読み、始めましょう!
Prisma ORMに新しいプレビュー機能、Prismaスキーマを複数のファイルに整理する機能が導入されることを発表できることを嬉しく思います。この多くの要望があった機能は、5.15.0リリースで利用可能になりました!
最新のブログ記事でその仕組みを学び、ぜひご自身で試してみてください。楽しいコーディングを!
PrismaとExpoを使用してReact Nativeアプリを構築することを検討したことがありますか?Prisma ORMは現在、React NativeとExpoの早期アクセスサポートを提供しており、コミュニティからの人気のある要望に応えました!
開始するには、ブログ記事と公開リポジトリをチェックしてください!
Prisma Insiderプログラムの開始を発表できることを嬉しく思います!機能の早期アクセス、貴重なフィードバックの提供、そしてPrismaの商用製品開発における主要な役割を担いましょう。
👉 詳細については、ブログ記事をご覧ください。このリンクから応募し、Prisma Insiderプログラムに最適な理由を教えてください。
接続プーリングは、データ駆動型アプリが大規模な負荷に耐え、障害なく動作するために不可欠です。私たちのブログ記事では、ブラックフライデーのようなピークトラフィック時に接続プーリングがeコマースプラットフォームをどのように救うかを探ります。
データベースクエリのキャッシュが時間と複雑さを節約し、アプリをよりスムーズかつ高速に動作させる方法をご覧ください。
📚 キャッシングの利点、使用時期、そしてPrisma Accelerateでの設定がいかに簡単かについては、ブログ記事をご覧ください。
Prisma ORMが内部でどのようなSQLを生成しているか、疑問に思ったことはありませんか?アプリのパフォーマンスを理解し、ユーザーにより良く、より高速な体験を提供したいですか?Prisma Optimizeがあれば可能です!
🎥 dub.coを事例としたビデオウォークスルーをご覧ください。
開始方法と自身のアプリケーションを最適化する方法については、発表ブログ記事をご覧ください。
createManyAndReturn()
5.14.0 リリースでは、新しいトップレベルの Prisma Client クエリ createManyAndReturn()
を利用可能にしました。これは createMany()
と同様に機能しますが、SQL クエリで RETURNING
句を使用して、作成されたばかりのレコードを取得します。
以下は、複数の投稿を作成し、すぐにそれらの投稿を返す例です。
詳細はリリースノートをご覧ください。
以前は、Prisma ORM は in
演算子を使用する場合、または MongoDB データベースに対するクエリに関連モデルを含める場合にパフォーマンスの問題を抱えていました。
5.14.0 から、Prisma ORM はクエリを $or
と $eq
演算子の組み合わせを使用するように書き換えるようになり、in
演算子やリレーションのロードを含むクエリで劇的なパフォーマンス向上をもたらします。
クローズされた公開課題については、リリースノートをご覧ください。
Prisma ORM が主要な DB プロバイダーでどのように動作するか気になりませんか?
Vercel と協力し、オープンソースのデータベースレイテンシーベンチマークに ORM を追加しました。
Pulse の機能とユースケースを更新されたドキュメントで確認し、スタートガイドに従って数分で Pulse をセットアップしてください。
プラットフォームドキュメントでは、Workspaces、Projects、Environments の説明と、請求情報をより分かりやすく改善し、プロジェクトの管理とコストの把握をさらに容易にしました。
各段階で Prisma 製品がどのように連携し、データ駆動型アプリケーション開発プロセスを強化するかを学びましょう。
2024年5月1日より、コミュニティ Slack から Discord サーバーに移行しました。そちらでプロジェクトを披露したり、コミュニティサポートを受けたり、あるいは単に開発者仲間と出会ってチャットしたりしましょう。
Discord でお会いしましょう!
Prisma Accelerate は静的 IP サポートを導入し、予測可能な IP でデータベースへのセキュアな接続を可能にし、アクセス制御と露出の最小化を実現します。これにより、Accelerate から信頼された IP アクセスを必要とするデータベースへの接続が可能になります。
詳細はブログ記事でご確認ください。ぜひお試しください。
omit
Prisma Client クエリからのフィールド (プレビュー版)Prisma Client クエリオプション内の omit
オプションに対するプレビューサポートを発表できることを嬉しく思います。要望の多かった omit
機能により、データベースから取得したくないフィールドを クエリごとに 除外できるようになりました。
omit
の使用例を以下に示します。
多くのユーザーが omit
のグローバルな実装を要望しています。この要望は将来的に対応される予定です。それまでの間、この課題についてはこちらで進捗を追うことができます。
詳細は最新のリリースノートをご覧ください。
おなじみのドキュメントが、今度は Docusaurus で構築されました! 🦖
👉 改善されたダーク/ライトモード、検索、レイアウト、および Kapa AI のエクスペリエンスをお楽しみください。
ドキュメントをご覧いただくか、https://github.com/prisma/docs で内部構造を覗いてみてください。
素晴らしいニュースです! 5.12.0 リリースでは、Prisma ORM と連携した Cloudflare D1 のプレビューサポートが追加されました 🥳
D1 は Cloudflare のネイティブなサーバーレスデータベースで、2022年に最初にリリースされました。SQLite をベースにしており、Cloudflare でアプリケーションをデプロイする際に使用できます。Cloudflare は最近、D1 の GA (一般提供) 開始を発表しました。この新しいマイルストーンでサポートを追加し、彼らと協力できることを大変嬉しく思います。
詳細は最新のブログ記事をご覧ください。
createMany()
の実装SQLite での createMany()
のサポートは、長らく待望され、非常に要望の多かった機能です ⭐
createMany()
は、Prisma Client のメソッドで、バージョン 2.16.0 でリリースされました。これにより、複数のレコードを一度にデータベースに挿入できます。これは、データベースのシーディングやバルクデータの挿入に非常に役立ちます。
詳細は最新のリリースノートをご覧ください。
より良い UX エクスペリエンスのために、サブスクリプション管理を改善しました。
いくつかの素晴らしい新機能と改善点をご紹介します。
• より多くの支払い方法に対応し、税 ID を管理できるようになりました。
• 請求履歴を確認したり、過去の請求書をダウンロードしたりできるようになりました。
console.prisma.io でお試しください。
• Prisma Pulse と Railway 向けのスタートガイドドキュメントを改善
• Prisma Accelerate のトラブルシューティングガイドを改善し、発生しうる一般的な問題をより簡単に解決できるようになりました。
• 4月11日に開催されるEpic Web Conferenceに参加します。もし来られる方はぜひお立ち寄りください!
• さらに、新しく開設したWhatsApp チャンネルで最新情報をフォローできるようになりました。参加して、変更履歴のニュースを直接受け取ってください。
Pulse が一般提供を開始したことをお知らせできることを大変嬉しく思います!これは、開発者がデータベースイベント駆動型コンピューティングと対話する方法を再定義するための、私たちの旅における重要なマイルストーンとなります。
Pulse はマネージド型のデータベースイベントインフラストラクチャであり、データベースイベント駆動型コンピューティングを簡素化し、チャット、通知、データブロードキャストなどのリアルタイム機能を簡単に実現できるようにします。
料金は?プロジェクトに合わせて柔軟にスケーリングできるように設計された、利用量に応じた料金体系で無料で開始できます。
👉 詳細と開始方法については、発表ブログ記事とドキュメントをご覧ください。
プラットフォーム環境は Prisma Data Platform の新機能で、ユーザーが1つのプロジェクト内で異なる設定を作成できるようになります。これにより、テストから本番環境への移行まで、アプリケーション開発プロセスを円滑に進めることができます。
また、Prisma CLI を使用して Prisma Data Platform にアクセスできるようになり、リソースとワークフローの管理が容易になります(現在は早期アクセス版です)。
👉 詳細はブログ記事をご覧ください。ぜひお試しください。
Prisma ORM はエッジファンクションをサポートするようになり、開発者は Vercel Edge Functions、Vercel Edge Middleware、Cloudflare Workers、Cloudflare Pages などのプラットフォームから Prisma ORM を使用してデータベースにアクセスできるようになりました。
エッジファンクションは、リクエストのレイテンシーを削減し、応答時間を改善することで、アプリケーションのパフォーマンスを向上させます。
Prisma v5.11.0 のリリースにより、開発者はエッジファンクションで Prisma ORM とお気に入りの Node.js データベースドライバーを使用できるようになり、クエリエンジンのサイズも限られたランタイム環境に合うように削減されました。
このエキサイティングな機能が全体として何をもたらすかを理解したい場合は、私たちのブログ記事をご覧になり、ぜひお試しください。
👉 フィードバックは Twitter または Discord を通じてお寄せください。
create
操作におけるパフォーマンス改善Prisma ORM では、ネストされたクエリで複数の新しいレコードを作成できます。例えば、
以前のバージョンでは、Prisma ORM はこれを複数の SQL INSERT
クエリに変換し、それぞれがデータベースへの独自の往復を必要としました。このリリースからは、これらのネストされた create
クエリが最適化され、INSERT
クエリが単一の往復でデータベースに一括で送信されるようになりました。
👉 詳細は5.11.0 リリースノートをご覧ください。
Prisma では、コミュニティの才能あるクリエイター、教育者、ビルダーを深く評価しており、彼らの貢献に報いたいと長く考えてきました。
アフィリエイト、テクノロジーパートナー、リセラー向けにカスタマイズされた機会を提供するPrisma パートナーネットワークを開始できることを嬉しく思います。
リアルワールドインタビューシリーズでは、Prisma を使用して OSS プロジェクトを開発した創業者たちに話を聞きます。最近のチャットをご覧ください。
🎥 Umami - オープンソースの Google Analytics 代替ツール
Google Analytics が肥大化しすぎていて、そのUIやワークフローが複雑だと感じたことはありませんか?Umami がいかにシンプルながら強力な代替分析ツールを提供しているかをご覧ください。
Steven Tey が Vercel を退社してから自身のスタートアップを立ち上げるまでの道のりを語ります。Dub.co がどのように情熱的なプロジェクトとして始まったか、その技術スタック、そしてコードベースの詳細をご覧ください。