0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

prisma db seedでseedが実行できない

Posted at

概要

prismaでnpx prisma db seedを実行した際に意図した結果にならなかったので解決していきます。
Next.js15系 x prisma 6系です。

前提

package.jsonの一部

"@prisma/client": "^6.8.2",
"next": "15.3.2",
"prisma": "^6.8.2",
"ts-node": "^10.9.2"

package.jsonのscripts

"scripts": {
"prisma": {
		"seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts"
	}
}

ファイル構造

prisma/
	schema.prisma
	seed.ts # seed
src/

npx prisma migrate devでtable作成済み

何が起きた

seedを実行するためにprisma/seed.tsに処理を記述し、npx prsima db seedを実行しましたが Environment variables loaded from .envと表示されるだけでseedが実行されませんでした。

試したこと

prisma GitHubのissueを確認すると、.evnのDATABASE_URLに起因するエラーが散見されるので、CUSTAM_DATABASE_URLに命名を変更して実行してみました。
結果: 変化せず

npx prisma db seed使わずに直接実行npm run prisma:seedしてみました


"scripts": {
	"prisma:seed": "ts-node --compiler-options '{\"module\":\"CommonJS\"}' prisma/seed.ts"
}

結果: seedが実行されました


echo sampleに書き換えてみました。

"prisma": {
  "seed": "echo sample"
}

結果: 変わりませんでした。 scripts.prisma.seed自体が動いてない?


scriptsの外に出してみる

"prisma": {
    "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts"
  },

結果: seedが実行されました

原因

実は正しく動作しない理由はscriptsの中に記述しているからでした。

解決策

以下指定はscriptsの外である必要がります。

"prisma": {
    "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts"
  }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?