PlanetScaleのデータをPrismaでクエリ – Node.jsとTypeScriptのための次世代ORM。
Prismaはデータ操作を容易にします!タイプセーフなNode.js & TypeScript ORM、グローバルデータベースキャッシュ、接続プーリング、リアルタイムデータベースイベントを提供します。
// Creating a new recordawait prisma.user.create({firstName: “Alice”,email: “alice@prisma.io”})
id firstName email1 Bobby bobby@tables.io2 Nilufar nilu@email.com3 Jürgen jums@dums.edu4 Alice alice@prisma.io
PlanetScale は、Vitess を搭載したMySQL互換のサーバーレスデータベースです。VitessはMySQLを水平方向にスケールするためのデータベースクラスタリングシステムです。PlanetScaleは、無制限のスケーリング、従量課金制、無停止スキーマ移行、そして寛大な無料枠といった、サーバーレスの利点の多くをデータベースの世界にもたらします。
PrismaはオープンソースのORM であり、PlanetScaleとシームレスに統合し、開発サイクル全体をサポートします。Prismaは、Prismaスキーマを使用してデータベーススキーマを宣言的に定義し、Prisma Clientを使用してPlanetScaleから完全なタイプ安全性でデータを取得するのに役立ちます。両方を一緒に使用することで、確立されたリレーショナルデータベースの利点に加えて、モダンな開発者体験、タイプセーフなクエリ、ゼロ運用、そして無限のスケーラビリティが得られます。
The Prismaスキーマ は、Prismaのモデリング言語を使用してデータベーススキーマを定義します。特にリレーションのモデリングに関して、データモデリングを簡単かつ直感的にします。
Prismaスキーマの構文は、GraphQL SDLに強く影響を受けています。すでにSDLに慣れているなら、データベーステーブルをモデル化するのは簡単でしょう。
1// Define the `User` table in the database2model User {3 id String @id @default(cuid())4 email String @unique5 password String6 name String?7 posts Post[]8}910// Define the `Post` table in the database11model Post {12 id String @id @default(cuid())13 title String14 content String?15 authorId String16 author User @relation(fields: [authorId], references: [id])17}
“PlanetScale & Prismaは、最高の開発者体験と実績のあるスケーラビリティをもたらす、比類なき組み合わせです。”
PlanetScaleは、本番データベースのロックやダウンタイムを引き起こすことなく、データベーススキーマを更新および進化させることができるスキーマ変更ワークフローを提供します。
Prismaのモデリング言語は宣言型であり、データベーススキーマを直感的に記述できます。
Prisma Clientは、JavaScriptでもオートコンプリートのような利点を持つ、完全にタイプセーフなデータベースクエリを保証します。
サーバー管理の落とし穴を避け、Prisma & PlanetScaleプロジェクトをサーバーレスランタイムにデプロイして、ゼロ運用と無限のスケーラビリティを実現します。
Prismaスキーマをデータベースにマッピングするため、データベーススキーマを管理するためにSQLを書く必要はありません。
Prisma Clientは、一般的なデータベース機能のための便利なAPIを提供することで、ボイラープレートを削減します。
このビデオでは、DanielがPrismaをPlanetScaleで使用する際に知っておくべきことすべてをガイドします。参照整合性、外部キー制約なしで操作する方法、prisma db push
コマンドを使用したPrismaとPlanetScaleの移行ワークフロー、および最適なパフォーマンスのためのリレーションスカラー(外部キーフィールド)のインデックス定義について学びます。
Next.js Confでのこの講演で、PlanetScaleチームのTaylor Barnettが、データベースをコードとして扱うというアイデア、PlanetScaleとPrismaを使用してモデルを宣言的な性質で定義する方法、およびサーバーレススタックの隔離された開発環境でデータベースを実験するためにブランチングを使用する方法について掘り下げます。
このドキュメントでは、PrismaとPlanetScaleの使用に関する概念、PlanetScaleと他のデータベースプロバイダーとの間の共通点と相違点について説明し、PlanetScaleと統合するようにアプリケーションを構成するプロセスを説明します。
今日、VitessはSlack、Roblox、Square、Etsy、GitHubなどの多くの企業でスケールするためのデフォルトのデータベースです。しかし、どのようにしてここにたどり着いたのでしょうか?YouTubeでの作成から、サーバーレスデータベースプラットフォームであるPlanetScaleを支えるデータベースまで、TaylorとSuguはVitessの作成、MySQLの理由、Vitessを非常に強力にするもの、そしてサーバーレスアプリケーションを構築する開発者に最適なさまざまな方法について掘り下げます。
コミュニティメンバーやPrismaチームと交流できる複数のチャネルがあります。