Prisma Client のインストール (TypeScript と PostgreSQL)
Prisma Client のインストールと生成
Prisma Client を始めるには、まず @prisma/client
パッケージをインストールします。
npm install @prisma/client
次に、Prisma スキーマを読み込んで Prisma Client を生成する prisma generate
を実行します。
npx prisma generate
これで、@prisma/client
パッケージから PrismaClient
コンストラクターをインポートして Prisma Client のインスタンスを作成し、データベースにクエリを送信できます。その方法は次のセクションで学習します。
知っておくと良いこと
prisma generate
を実行すると、実際には *あなたの* Prisma スキーマファイル、または prisma
ディレクトリ内のファイルに合わせたコード(TypeScript 型、メソッド、クエリなど)が作成されます。これは、Prisma スキーマファイルに変更を加えるたびに、Prisma Client も更新する必要があることを意味します。これは prisma generate
コマンドを実行することで行えます。
Prisma スキーマを更新するたびに、prisma migrate dev
または prisma db push
を使用してデータベーススキーマを更新する必要があります。これにより、データベーススキーマは Prisma スキーマと同期されます。これらのコマンドは、内部的に prisma generate
も実行し、Prisma Client を再生成します。
これらのコマンドは、Prisma でデータベーススキーマを管理する上で異なる目的を果たします。それぞれの使用時期と理由を以下に示します。
npx prisma migrate dev
- 目的: このコマンドは、Prisma スキーマの変更に基づいて新しいマイグレーションを生成し、適用します。変更履歴を保持するマイグレーションファイルを作成します。
- 使用例: 本番環境やチームで作業する場合に不可欠な、データベース変更の記録を維持したい場合に使用します。データベーススキーマのバージョン管理が可能です。
- 利点: このコマンドには、制御された方法でマイグレーションを適用するためのチェックも含まれており、データ整合性を保証します。
npx prisma db push
- 目的: このコマンドは、現在の Prisma スキーマをデータベースに直接プッシュするために使用されます。マイグレーションファイルを作成せずに、スキーマに加えた変更を適用します。
- 使用例: マイグレーション履歴を気にすることなく、データベーススキーマをPrismaスキーマと迅速に同期させたい開発段階で特に役立ちます。
- 注意: スキーマの変更が既存のテーブルやカラムに影響を与える場合、データを上書きする可能性があるため、初期開発やプロトタイピングに最適です。