Prisma Postgresでクイックスタート
このクイックスタートガイドでは、プレーンなTypeScriptプロジェクトでPrisma ORMとPrisma Postgresデータベースをゼロから使い始める方法を学びます。以下のワークフローについて説明します。
- Prisma Postgresデータベースの作成
- スキーママイグレーションとクエリ(Prisma ORM経由)
- コネクションプーリングとキャッシュ(Prisma Accelerate経由)
Prisma Postgresを他のORMやデータベースライブラリ(Drizzle ORM、TypeORM、Kyselyなど)と使用したい場合は、こちらの手順に従ってください。
前提条件
このチュートリアルを完了するには、以下が必要です。
1. プラットフォームコンソールでPrisma Postgresデータベースをセットアップ
Prisma Postgresデータベースを作成するには、以下の手順に従ってください。
- ログインしてコンソールを開きます。
- 任意のワークスペースで、New projectボタンをクリックします。
- Nameフィールドにプロジェクトの名前を入力します(例: hello-ppg)。
- Prisma Postgresセクションで、Get startedボタンをクリックします。
- Regionドロップダウンで、現在地から最も近いリージョンを選択します(例: US East (N. Virginia))。
- Create projectボタンをクリックします。
この時点で、Databaseページにリダイレクトされ、データベースのステータスがPROVISIONING
からCONNECTED
に変わるまで数秒待つ必要があります。
緑色のCONNECTED
ラベルが表示されたら、データベースを使用する準備が整いました!
2. サンプルをダウンロードして依存関係をインストール
コンソールに表示されているtry-prisma
コマンドをコピーし、ターミナルに貼り付けて実行します。
参考として、コマンドは次のようになります。
npx try-prisma@latest \
--template databases/prisma-postgres \
--name hello-prisma \
--install npm
try-prisma
コマンドが終了したら、プロジェクトディレクトリに移動します。
cd hello-prisma
3. データベース接続URLを設定
データベースへの接続は、.env
ファイル内の環境変数で設定されます。
まず、既存の.env.example
ファイルを.env
にリネームします。
mv .env.example .env
次に、プラットフォームコンソールのプロジェクト環境で、Set up database accessセクションにあるデータベース認証情報を見つけ、DATABASE_URL
環境変数をコピーして.env
ファイルに貼り付けます。
参考として、ファイルは次のようになります。
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=ey...."
4. データベーステーブルを作成する(スキーママイグレーションを使用)
次に、データベースにテーブルを作成する必要があります。これは、Prisma CLIの以下のコマンドでスキーママイグレーションを作成および実行することで行えます。
npx prisma migrate dev --name init
これにより、Prismaスキーマで定義されたUser
およびPost
モデルがデータベースにマッピングされます。新しく作成されたprisma/migrations
ディレクトリで、実行されてテーブルを作成したSQLマイグレーションを確認することもできます。
5. Prisma ORMでクエリを実行
src/queries.ts
スクリプトには、データベースにデータを書き込み、読み取るCRUDクエリが多数含まれています。ターミナルで以下のコマンドを実行して実行できます。
npm run queries
スクリプトが完了したら、ターミナルでログを確認したり、Prisma Studioを使用してデータベースにどのようなレコードが作成されたかを確認したりできます。
npx prisma studio
6. Prisma Accelerateでキャッシュを試す
src/caching.ts
スクリプトには、Prisma Accelerateを使用してデータベースクエリをキャッシュするためのStale-While-Revalidate (SWR) と Time-To-Live (TTL) を使用するサンプルクエリが含まれています。次のように実行できます。
npm run caching
クエリの実行にかかった時間(例: )に注目してください。
The query took 2009.2467149999998ms.
次に、スクリプトを再度実行します。
npm run caching
今回はクエリにかかる時間がはるかに短くなることに気づくでしょう(例: )
The query took 300.5655280000001ms.
7. 次のステップ
このクイックスタートガイドでは、プレーンなTypeScriptプロジェクトでPrisma ORMを使い始める方法を学びました。findMany
クエリにフィルタリング、ソート、ページネーションオプションを含めたり、update
やdelete
クエリなどのより多くの操作を試したりして、Prisma Client APIを自由に探索してみてください。
Prisma Studioでデータを探索する
Prisma ORMには、データベース内のデータを表示および編集するための組み込みGUIが付属しています。以下のコマンドを使用して開くことができます。
npx prisma studio
Prisma Postgresを使用すると、内部でPrisma Studioを直接使用することもできます。プロジェクトのStudioタブを選択します。
Next.jsでフルスタックアプリを構築する
フルスタックアプリでPrisma Postgresを使用する方法を学ぶ
すぐに実行できるPrisma ORMの例を探索する
GitHubのprisma-examples
リポジトリをチェックして、Prisma ORMがお好みのライブラリでどのように使用できるかを確認してください。このリポジトリには、Express、NestJS、GraphQLの例に加え、Next.jsやVue.jsを使用したフルスタックの例など、多数の例が含まれています。
これらの例はデフォルトでSQLiteを使用しますが、プロジェクトのREADMEに記載されている手順に従って、いくつかの簡単なステップでPrisma Postgresに切り替えることができます。
Prismaとつながる
とつながり、Prismaの旅を続けましょう。 活発なコミュニティに参加しましょう。最新情報を入手し、積極的に関わり、他の開発者と協力しましょう。
- Xでフォロー アナウンス、ライブイベント、役立つヒントを得られます。
- Discordに参加 質問したり、コミュニティと話したり、会話を通じて積極的なサポートを受けられます。
- YouTubeで購読 チュートリアル、デモ、配信を視聴できます。
- GitHubで交流 リポジトリにスターを付けたり、問題を報告したり、問題に貢献したりしてください。