はじめに
みなさん、こんにちは torihaziです
最近、frontendにおいてdataの型管理効率化のためだけに prismaを入れて開発を進めてます
最初はコマンド1つでDBからスキーマ取得して云々作成してくれることに
めっちゃ感動していたのですが使っていくうちに、「およよ?」ということが増えてきました
今回のタイトルもその「およよ?」のうちの1つです
経緯
backendはRails(スネークケース)、frontendはNext.js(キャメルケース)で開発をしています。
最近、frontendからbackendにpostするときにaxiosのinterceptor使って
スネークケースにしたり、取得するときにキャメルケースにしたりすることを知りました。
知ったのはいいのですが、今自分がprisma使ってやっているものだとデフォルトのprismaは
スネークケースでpullしてきてしまうので「どうしたものか」と思って調べたのが今回記事作成に至った経緯です。
結論
あらかじめprisma入っている前提で話を進めます。
入ってない方はこれみて雰囲気でも掴んでください笑
Nextjs x Rails のXクローンにprismaを入れて楽(?)をする。 - Torihaji's Growth Diary
話は戻って、、
Prismaのschema定義で、DBのカラム名はsnake_caseだけど実際に使う時はcamelCaseにしたい人へのライフハック #TypeScript - Qiita
こちらの方を参考にしました。というかまんまですね。
これ入れて、
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の置換機能使ってガンバッテクダサイ。
自分もそうしたので笑
終わりに
自分が気になることは大抵他の誰かが手をつけているということが改めて分かりました
世界って広いなと笑
頑張りましょう。