Repository navigation
Open
Description
Prisma 6.18.0からの変更点が多くあるため、対応する必要があります。多くは、prisma initで生成されるファイルが大幅に変わったことが原因です。
- 事前に
prismaパッケージと@prisma/clientパッケージをインストールしておくことが必要となったようです。
Prisma 6.17.1以前では、これらのパッケージをインストールしていなくてもprisma db pushを実行することで自動でprismaパッケージと@prisma/clientパッケージがインストールされていましたが、Prisma 6.18.0では事前にこれらをインストールしていない状態でprisma db pushを実行するとエラーが出るようになりました。
→事前にprismaパッケージと@prisma/clientパッケージをインストールすることで解決します ✅ - Prisma 6.18.0では、
prisma initをした際に生成されるファイルでprisma.config.tsが使用されるようになりました。cf. https://www.prisma.io/blog/announcing-prisma-6-18-0#init-with-prismaconfigts-automatically- デフォルトで生成される
prisma.config.tsファイルの拡張子は.tsですが、中身はESM+TypeScriptであるため、ESM+TypeScript環境になっていない場合には、適切な対応が必要となります。
→TypeScript環境の場合は、拡張子を.mtsにするか、typeフィールドをmoduleにすることで解決できます。JavaScript環境の場合も同様にすることで動作は確認できました ✅
- デフォルトで生成される
- Prisma 6.18.0では、
prisma initをした際に生成されるファイルでprisma-client-jsgeneratorではなくprisma-clientgeneratorが使用されるようになったようです。prisma-clientgeneratorを使用すると、.envファイルが自動で読み込まれません。(cf. https://www.prisma.io/docs/orm/prisma-schema/overview/generators#prisma-client )
TypeScriptファイルやJavaScriptファイルを実行する際には、--env-fileflagなどを使用して.envファイルを読み込む必要があります。(cf. https://www.prisma.io/docs/orm/reference/prisma-config-reference#using-environment-variables )prisma db pushなどをする際のために、prisma.config.ts内でdotenvを使用する必要があるのではないかと考えられます。
→dotenvと--env-fileflagを使用することで解決します ✅prisma-clientgeneratorでは、prisma generateをした際にESMで書かれたTypeScriptファイルが生成されます。cf. https://www.prisma.io/docs/orm/prisma-schema/overview/generators#prisma-client
→TypeScriptで開発をしている際には何も問題がありませんが、JavaScriptで開発をしている際にはtscなどを使用してJavaScriptに変換するかprisma-client-jsgeneratorに戻す必要があります。この件については、Issueが存在し、3-month loadmapにも載せられているため、しばらく待つ必要がありそうです 🚧prisma-clientgeneratorを使用する場合には、Prisma Clientのインポート方法が変わります。 cf. https://www.prisma.io/docs/orm/prisma-schema/overview/generators#importing-prisma-client
→"./generated/prisma/client"などからインポートすることで、解決できます ✅
Metadata
Metadata
Assignees
Labels
No labels
Activity
chvmvd commentedon Dec 6, 2025
Prisma 7.0.0がリリースされ、さらに多くの変更がありました。
PrismaClientのインスタンスを作成する際に、adapterを指定する必要があります cf. https://github.com/prisma/prisma/releases/tag/7.0.0→ 説明が大変にはなりますが、adapterを指定することで解決できます ✅
prisma db pushコマンドを実行した際にprisma generateコマンドは自動で実行されなくなっていそうですprisma migrateが暗黙的にprisma generateを実行しなくなっているためそれに付随してprisma db pushでも同様のことが起こっていると考えられます cf. https://github.com/prisma/prisma/releases/tag/7.0.0→
prisma generateを明示的に実行することで解決できます ✅schema.prisma内のdatasource.urlは、prisma.config.tsファイル内で指定する必要があります cf. https://github.com/prisma/prisma/releases/tag/7.0.0→
schema.prisma内の指定を消すことで解決できます ✅prisma.config.ts内のengineは廃止になりました cf. https://github.com/prisma/prisma/releases/tag/7.0.0→
prisma.config.ts内の指定を消すことで解決できます ✅prisma.config.tsにおいて、dotenvの設定が書かれるようになりました cf. https://github.com/prisma/prisma/blob/0c6db1591fd30fa9f6ed096bd8b24782c149b25b/packages/cli/src/Init.ts#L226→
dotenvの設定をprisma.config.tsで書く必要がなくなりました ✅chvmvd commentedon Dec 13, 2025
将来的にはJavaScript環境でPrismaを使用することはできなくなると思っておいた方が良さそうです。
prisma/orm#28116
prisma/orm#27596