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
コマンドを実行することで実行できます。
Prismaスキーマを更新するたびに、prisma migrate dev
またはprisma db push
のいずれかを使用してデータベーススキーマを更新する必要があります。これにより、データベーススキーマがPrismaスキーマと同期された状態に保たれます。これらのコマンドは、Prisma Clientを再生成するために、内部でprisma generate
も実行します。
これらのコマンドは、Prismaでデータベーススキーマを管理する上で異なる目的を果たします。各コマンドをいつ、なぜ使用するかについての内訳は次のとおりです。
npx prisma migrate dev
- 目的: このコマンドは、Prismaスキーマの変更に基づいて新しいマイグレーションを生成および適用します。変更の履歴を保持するマイグレーションファイルを作成します。
- ユースケース: データベースの変更の記録を保持したい場合に使用します。これは、本番環境やチームで作業する場合に不可欠です。データベーススキーマのバージョン管理が可能になります。
- 利点: このコマンドには、データ整合性を確保するために、制御された方法でマイグレーションを適用するためのチェックも含まれています。
npx prisma db push
- 目的: このコマンドは、現在のPrismaスキーマをデータベースに直接プッシュするために使用されます。マイグレーションファイルを作成せずに、スキーマに加えた変更を適用します。
- ユースケース: マイグレーション履歴を気にせずに、データベーススキーマをPrismaスキーマと迅速に同期させたい開発段階で特に役立ちます。
- 注意: スキーマの変更が既存のテーブルまたはカラムに影響を与える場合、データを上書きする可能性があるため、開発の初期段階またはプロトタイピングに最適です。