メインコンテンツにスキップ

Prisma Clientをインストールする

Prisma Clientのインストールと生成

Prisma Clientを使い始めるには、まず@prisma/clientパッケージをインストールします。

npm install @prisma/client

次に、Prismaスキーマを読み取りPrisma Clientを生成するprisma generateを実行します。

npx prisma generate

これで、データベースにクエリを送信するためのPrisma Clientのインスタンスを作成するために、@prisma/clientパッケージからPrismaClientコンストラクタをインポートできます。その方法は次のセクションで学びます。

知っておくと良いこと

prisma generateを実行すると、実際にはあなたのPrismaスキーマファイルまたはprismaディレクトリ内のファイルに合わせて調整されたコード(TypeScript型、メソッド、クエリなど)が作成されます。つまり、Prismaスキーマファイルを変更するたびに、Prisma Clientも更新する必要があります。これは、prisma generateコマンドを実行することで実行できます。

Install and generate Prisma Client

Prismaスキーマを更新するたびに、prisma migrate devまたはprisma db pushのいずれかを使用してデータベーススキーマを更新する必要があります。これにより、データベーススキーマがPrismaスキーマと同期された状態に保たれます。これらのコマンドは、Prisma Clientを再生成するために、内部でprisma generateも実行します。

これらのコマンドは、Prismaでデータベーススキーマを管理する上で異なる目的を果たします。各コマンドをいつ、なぜ使用するかについての内訳は次のとおりです。

npx prisma migrate dev

  • 目的: このコマンドは、Prismaスキーマの変更に基づいて新しいマイグレーションを生成および適用します。変更の履歴を保持するマイグレーションファイルを作成します。
  • ユースケース: データベースの変更の記録を保持したい場合に使用します。これは、本番環境やチームで作業する場合に不可欠です。データベーススキーマのバージョン管理が可能になります。
  • 利点: このコマンドには、データ整合性を確保するために、制御された方法でマイグレーションを適用するためのチェックも含まれています。

npx prisma db push

  • 目的: このコマンドは、現在のPrismaスキーマをデータベースに直接プッシュするために使用されます。マイグレーションファイルを作成せずに、スキーマに加えた変更を適用します。
  • ユースケース: マイグレーション履歴を気にせずに、データベーススキーマをPrismaスキーマと迅速に同期させたい開発段階で特に役立ちます。
  • 注意: スキーマの変更が既存のテーブルまたはカラムに影響を与える場合、データを上書きする可能性があるため、開発の初期段階またはプロトタイピングに最適です。