ryoko hayashi/ 2023年 10月 2日/ 技術

はじめに

こんにちは。林です。
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のバージョン情報が表示されたらOK

    dot -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図を作成できて便利そうです。

About ryoko hayashi

Javaや.NETのWebシステム開発に長く携わってきたのですが、 最近はPythonがほとんど。 数年前にデビューしたC言語はすっかり化石となりました。