既存のプロジェクトにPrisma ORMを追加する (TypeScriptとPostgreSQL)
既存のNode.jsまたはTypeScriptプロジェクトにPrisma ORMを追加し、データベースに接続してデータベースアクセス用のPrisma Clientを生成する方法を学びます。以下のチュートリアルでは、Prisma CLI、Prisma Client、Prisma Introspectionについて紹介します。
他のORMからPrisma ORMへ移行する場合は、TypeORMからの移行またはSequelizeからの移行ガイドを参照してください。
前提条件
このガイドを正常に完了するには、以下が必要です。
package.json
を含む既存のNode.jsプロジェクト- Node.jsがお使いのマシンにインストールされていること (公式にサポートされているバージョンについてはシステム要件を参照)
- PostgreSQLデータベースサーバーが動作しており、少なくとも1つのテーブルを持つデータベースが存在すること
正確なバージョン要件については、システム要件を参照してください。
データベースの接続URL (認証情報を含む) を手元に用意しておいてください!データベースサーバーが動作しておらず、Prisma ORMを試してみたいだけであれば、クイックスタートをご覧ください。
Prisma ORMをセットアップする
最初のステップとして、package.json
ファイルを含むプロジェクトディレクトリに移動します。
次に、Prisma CLIを開発依存関係としてプロジェクトに追加します。
npm install prisma --save-dev
プロジェクトに複数のpackage.json
ファイルを含むディレクトリ (例: frontend
、backend
など) がある場合、Prisma ORMはAPI/バックエンドレイヤーでの使用を想定して設計されていることに注意してください。Prismaをセットアップするには、関連するpackage.json
ファイルを含む適切なバックエンドディレクトリに移動し、そこでPrismaを設定します。
これで、npx
を前置することでPrisma CLIを呼び出すことができます。
npx prisma
異なるパッケージマネージャーを使用してPrisma ORMをインストールする方法については、インストール手順を参照してください。
次に、以下のコマンドでPrisma Schemaファイルを作成し、Prisma ORMプロジェクトをセットアップします。
npx prisma init --datasource-provider postgresql --output ../generated/prisma
このコマンドはいくつかの処理を行います。
prisma
という新しいディレクトリを作成し、その中にschema.prisma
というファイルが作成されます。このファイルには、データベース接続変数とスキーマモデルを含むPrisma Schemaが含まれます。datasource
を以下に設定します。PostgreSQLそして、それぞれ出力をカスタムロケーションに設定します。- プロジェクトのルートディレクトリに
.env
ファイルを作成します。これは環境変数 (データベース接続など) を定義するために使用されます。
prisma init
によって作成されるデフォルトスキーマは、provider
としてPostgreSQLを使用することに注意してください。datasource-provider
オプションでプロバイダーを指定しなかった場合、datasource
ブロックを編集してpostgresql
プロバイダーを使用する必要があります。
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}