AIStacker
データワークフローガイド7 分で読めます

Prisma migrate / generate 前に relation を見直すための実践フロー

曖昧な relation、ID 漏れ、モデル境界の違和感を Prisma migrate や generate の前に見つけるためのレビュー手順です。

このガイドで扱う内容
3
このガイドで使用するツール
2
関連トピック
5
ガイド概要

Prisma schema は、migrategenerate を実行する直前まで問題がないように見えることがよくあります。relation の設計ミスが厄介なのは、schema ファイルの中では自然に見えていても、所有側や参照先、生成される client の挙動が確定した瞬間に一気に表面化するからです。

だからこそ、実行前に構造そのものを見直すフローが重要です。単に上から下へ読むのではなく、model、relation、enum、構造的な warning に分けて確認すると、あとから大きな detour になる問題をかなり早い段階で止められます。

01

field の書き方より先に model の境界を確認する

#

Prisma schema が大きくなると、各 field の行だけを追ってしまい、model 全体がまだ一つの概念としてまとまっているかを見落としがちです。relation 名の曖昧さや ownership の不自然さは、たいていこの境界の崩れから始まります。

まずは model 一覧を見て、それぞれがまだ明確な責務を持っているかを確認します。relation edge が増えすぎている model があるなら、問題は syntax ではなく設計の切り分けにあることが多いです。

このセクションで使うツール

02

同じ target に向かう relation を migrate 前にまとめて確認する

#

一つの model が同じ target model に複数回つながるケースは珍しくありません。ただし、その時点で relation name と ownership を意図的に整理しないと、曖昧さが後で migration や generated client の混乱につながります。

重要なのは、relation field を target ごとに束ねて見て、それぞれが本当に別目的なのかを確認することです。たとえば 2 本とも User を指しているなら、片方が古い設計の残骸ではないかを先に疑う価値があります。

このセクションで使うツール

03

command 実行前に ID 漏れや未完成な構造を拾う

#

relation そのものではなく、未完成な model 設計が原因になっていることもあります。ID が未定義の model、ownership が弱い field、現在のドメイン言語に合わなくなった enum などは、schema が一見きれいだと後回しにされがちです。

しかし migrategenerate の前に一度構造レビューを入れておくと、修正は小さく済みます。逆にそのまま進むと、migration のやり直しや generated client の混乱として問題が増幅しやすくなります。