既存のプロジェクトにPrisma ORMを追加する (JavaScriptとCockroachDB)
既存のNode.jsまたはTypeScriptプロジェクトにPrisma ORMを追加し、データベースに接続してデータベースアクセスのためのPrisma Clientを生成する方法を学びます。このチュートリアルでは、Prisma CLI、Prisma Client、およびPrisma Introspectionについて説明します。
他のORMからPrisma ORMへ移行する場合は、TypeORMからの移行またはSequelizeからの移行ガイドを参照してください。
前提条件
このガイドを正常に完了するには、以下が必要です。
- `package.json`ファイルを持つ既存のNode.jsプロジェクト
- お使いの環境にNode.jsがインストールされていること(公式にサポートされているバージョンについてはシステム要件を参照)
- CockroachDBデータベースサーバーが稼働しており、少なくとも1つのテーブルを持つCockroachDBデータベース
正確なバージョン要件については、システム要件を参照してください。
データベースの接続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 cockroachdb --output ../generated/prisma
このコマンドはいくつかの処理を行います。
- `prisma`という新しいディレクトリを作成し、その中に`schema.prisma`というファイルを作成します。このファイルには、データベース接続変数とスキーマモデルを含むPrisma Schemaが含まれます。
- `datasource`を以下に設定します。CockroachDBそれぞれ出力先をカスタムロケーションに設定します。
- プロジェクトのルートディレクトリに`.env`ファイルを作成します。このファイルは環境変数(データベース接続など)を定義するために使用されます。
`prisma init`によって作成されるデフォルトのスキーマは、`provider`としてPostgreSQLを使用することに注意してください。`datasource-provider`オプションでプロバイダーを指定しなかった場合は、`datasource`ブロックを編集して`cockroachdb`プロバイダーを使用する必要があります。
datasource db {
provider = "cockroachdb"
url = env("DATABASE_URL")
}