初めまして、サービス開発部プロダクトエンジニアの篠倉と申します。
2024年12月、弊社プロダクト『ミキワメ』で新機能をリリースしました。
この機能の開発では、20テーブル以上のデータベース設計を行う必要がありました。大規模なER図を効率的に作成し、レビューをスムーズに進めるために試行錯誤した手法と得られた知見を共有します。
直面した課題
今回のER図設計では、以下の3つの要件を満たすことが課題となりました。
- テーブル名やリレーションを明確に表現する
- カラム情報(型、NULL可否、外部キー等)を適切に記載する
- 効果的なレビューを実現し、スムーズにフィードバックを受けられる環境を整備する
検討過程と採用した方法
最初にNotionとMermaidの組み合わせを検討しましたが、以下の2つの理由で採用を見送りました。
※Mermaidとはマークダウンに近い書き方でフローチャート、シーケンス図、ER図を書ける記法です
- コメントがコード上にしか書けず、レビューが非効率になる

- リレーションを詳細に記載すると文字が小さくなり、視認性が低下する

検討を重ねた結果、PlantUMLを用い以下の方法を採用しました
※PlantUMLとはオープンソースのツールです。Mermaidと同様フローチャート、シーケンス図、ER図を書くことができます。
- PlantUMLを使用してER図を作成
- 作成したER図をMiroに添付
- Miro上でチームメンバーがコメントを付与
この方法により、大規模なER図に対する効果的なチームレビューが可能になりました。

感じた利点と課題
- 利点
- テーブル名、リレーション、カラム情報を一元管理できる
- Miro上で拡大縮小ができ、全体像と詳細の両方を確認しやすい
- ER図上に直接コメントを残せるため、レビューがスムーズになる
- 課題
- 大規模なER図では複雑になり、視認性が低下する
- 図を修正するとコメントが消えるため、やり取りのログが残らない
