はじめに
こんにちは。林です。
Djangoではmodels.pyからマイグレーションでDB定義を更新することができますが、
そんな感じでDB定義書も作れないのかな~?と調べたところ、
ER図の作成ができるようなので試してみました!
環境
- Ubuntu 22.04
- vscode
手順
-
Ubuntuにgraphvizをインストールする
※vscodeでpygraphvizがインストールできなくて、行ったり来たりしたので、不要なものもあるかもしれない。。sudo apt-get update sudo apt -y install graphviz sudo apt install python3-dev sudo apt-get install libgraphviz-dev sudo apt-get install pkg-config
-
graphvizの動作確認をしてみる
graphvizのバージョン情報が表示されたらOKdot -V
-
vscodeのターミナルで以下をインストール
pip install pydotplus pip install pygraphviz pip install django-extensions
-
settings.pyに以下を追加
INSTALLED_APPS = ( 'django_extensions', )
-
ファイル出力!
python manage.py graph_models -a -g --output er.png
※-a: all-applications
※-g: group-models
※ほかにも
--exclude-models: 不要なモデルを除外
おわりに
DBツールにもER図を作成する機能はありますが、
group-modelsを考慮して出力できるのがとても見易くて良いなと思いました。
ただ、画像での出力なので配置が自由に行えないのがもどかしい。
とは言え、複雑なDB構造でない限りはコマンド1つで簡単にER図を作成できて便利そうです。