May
1st,
2018
- DBのテーブル構成を知りたい
- ER図の生成にeralchemyを利用
- PDFやマークダウンで出力できる
psycopg2のよみは「さいこぴーじーつー」かな
— ゆう (@yuu_ito) 2018年4月27日
最近ご一緒しているお仕事でPostgreSQLのテーブルを見る機会があったのですが、
全体感を掴むためにひとまずER図を描きたいと思いました。
調べたところ eralchemyというツールを見つけたので試してみます。
インストール
AWSで管理しているのでRDSに繋げることができる
amazonlinuxで動いているEC2にインスタンスしました。
- 事前にpdf生成にgraphvizパッケージをインストールしておく
ec2-user: $ sudo yum install graphviz graphviz-devel graphviz-gd graphviz-python27 graphviz-graphs
- 今回はPostgreSQL上のテーブルを参照したいのでPostgreSQL用のドライバを利用します。
psqlコマンドでDB接続する際に設定した環境変数
ec2-user: $ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PGHOST=xxxx.rds.amazonaws.com
export PGPORT=5432
export PGDATABASE=xxxx
export PGUSER=xxxx
export PGPASSWORD=xxxx
PDFを生成するコマンド
ec2-user: $ cat generate_erd.sh
eralchemy -i "postgresql+psycopg2://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT}/${PGDATABASE}" -o erd.pdf