Prismaではテーブルなどの定義は、schema.prismaファイルに記載します。 このファイルを変更した場合、generateコマンドを実行してTypeScriptの型情報などを更新する必要があります。 ここではテーブル追加や変更などと型情報の更新等について説明します。

generateコマンド

Prismaでは新しくテーブルschema.prismaを編集後、generateコマンドを実行する必要があります。 generateコマンドは、テーブル定義などの変更によるTypeScriptの型情報更新や、prismaクライアント作成を行います。

npx prisma generate
注 @prisma/clientモジュールが無い場合、インストールしてpckage.jsonに追加します。

デフォルト設定の場合、型情報などは node_modules/@prisma/client に作成されます。

npx prisma generate
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma

✔ Installed the @prisma/client and prisma packages in your project

✔ Generated Prisma Client (v5.18.0) to .\node_modules\@prisma\client in 53ms     

Start by importing your Prisma Client (See: http://pris.ly/d/importing-client)   

Tip: Want real-time updates to your database without manual polling? Discover how with Pulse: https://pris.ly/tip-0-pulse
注 これはWindowsでの実行結果になります。

出力先変更

generateコマンドの出力先を変更する場合、schema.prisma の「generator client」の項目にoutputの設定を追加します。 出力先パスは、schema.prismaファイルのあるディレクトリからの相対パスになっています。

generator client {
  provider = "prisma-client-js"
  output   = "./client"
}
generateコマンドを実行すると以下のようになります。schema.prismaがあるディレクトリにclientディレクトリがs
npx prisma generate
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma

✔ Generated Prisma Client (v5.18.0) to .\prisma\client in 59ms

Start by importing your Prisma Client (See: http://pris.ly/d/importing-client)

Tip: Easily identify and fix slow SQL queries in your app. Optimize helps you enhance your visibility: https://pris.ly/--optimize