Prismaでseedしてみる

調べたら見つかる記事を見ながら
schema.prisma
を作成・モデルを定義する
大体雰囲気で書ける。リレーションは下記の記事を参考にすると良い

seed.tsを作成する
調べるとループ回している記事が出るけど一気に作成できるらしい

schema.prisma
に以下の1行を追加するファイルパスはPJに応じて)
seed = "./seed.ts"

npx prisma db seed
してみる
内心、tsをどうやって実行するんだろうと思っていたが
無事にエラーで怒られる
Environment variables loaded from .env
Error: To configure seeding in your project you need to add a "prisma.seed" property in your package.json with the command to execute it:
1. Open the package.json of your project
2. Add the following example to it:
"prisma": {
"seed": "ts-node prisma/seed.ts"
}
If you are using ESM (ECMAScript modules):
"prisma": {
"seed": "node --loader ts-node/esm prisma/seed.ts"
}
3. Install the required dependencies by running:
yarn add -D ts-node typescript @types/node
More information in our documentation:
https://pris.ly/d/seeding
めんどくさいから無い英語力で理解を試みたところ、TSがインストールされてないって言っている気がするので
言われた通りにインストールする
yarn add -D ts-node typescript @types/node

もう一回seedしてみる
同じエラーで怒られる

よく読んだらTSのインストールの前に1と2があったので
package.json
のscripts.prisma.seedを定義してみる
忘れたけどなんかエラー

よく読んだら、package.json
のscriptsとは書いてなかったので直下に
prisma.seedを定義・seed実行
訳分からんエラー。なんならVSCodeの機能でseed.tsにジャンプできるやんけ。なにがdoesn't existじゃボケ!w
Error: Provided schema path `ts-node prisma/seed.ts` from `package.json` doesn't exist.

ChatGPT君に聞いたら
package.jsonのscriptsに以下を定義しろって言われた。
なるほどめちゃめちゃ普通やんけ。npxでprismaを実行する話はどこへ行った
"prisma:seed": "ts-node ./prisma/seed.ts",

何も書いてないけどさっきまでさっきまで実はnpx prisma db seed
をひたすら実行していた
うって変わって、yarn prisma:seed
を実行する
さっきと全然違うエラー。よく見るやつだから一気に安心圏にきた気がする
(node:20192) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
****/prisma/seed.ts:37

package.json
に
"type": "module",
を追加。結局変わらぬエラー
Environment variables loaded from .env
Error: Provided schema path `ts-node ./prisma/seed.ts` from `package.json` doesn't exist.