Torihaji's Growth Diary

Little by little, no hurry.

prismaの定義をキャメルケースにしたいと思ったら

はじめに

みなさん、こんにちは torihaziです

最近、frontendにおいてdataの型管理効率化のためだけに prismaを入れて開発を進めてます

最初はコマンド1つでDBからスキーマ取得して云々作成してくれることに

めっちゃ感動していたのですが使っていくうちに、「およよ?」ということが増えてきました

今回のタイトルもその「およよ?」のうちの1つです

経緯

backendはRails(スネークケース)、frontendはNext.js(キャメルケース)で開発をしています。

最近、frontendからbackendにpostするときにaxiosのinterceptor使って

スネークケースにしたり、取得するときにキャメルケースにしたりすることを知りました。

qiita.com

知ったのはいいのですが、今自分がprisma使ってやっているものだとデフォルトのprisma

スネークケースでpullしてきてしまうので「どうしたものか」と思って調べたのが今回記事作成に至った経緯です。

結論

あらかじめprisma入っている前提で話を進めます。

入ってない方はこれみて雰囲気でも掴んでください笑

Nextjs x Rails のXクローンにprismaを入れて楽(?)をする。 - Torihaji's Growth Diary

話は戻って、、

Prismaのschema定義で、DBのカラム名はsnake_caseだけど実際に使う時はcamelCaseにしたい人へのライフハック #TypeScript - Qiita

こちらの方を参考にしました。というかまんまですね。

prisma-case-format - npm

これ入れて、

package.json

    "pull": "prisma db pull",
    "generate": "prisma-case-format --file prisma/schema.prisma && prisma format && prisma generate"

として

npm run pull
npm run generate

とすればずばーんとできます

これを途中で導入した場合、色々旧prismaの定義で作ったものを全て置換する必要がありますが

それは Linuxとか Vscodeの置換機能使ってガンバッテクダサイ。

自分もそうしたので笑

終わりに

自分が気になることは大抵他の誰かが手をつけているということが改めて分かりました

世界って広いなと笑

頑張りましょう。