読者です 読者をやめる 読者になる 読者になる

仕事中の問題と解決メモ。

最近はPythonとGoogle Cloud Platformがメイン。株式会社ビズオーシャンで企画と開発運用、データ活用とか。 http://mstdn.bizocean.co.jp/@uyamazak https://github.com/uyamazak/

DcokerでERAlchemyを使ってPostgreSQLのER図を書き出す

現在のアプリのデータベースのER図を作る必要があったので、検索した所、ERAlchemyというのがあることを知った。

ちなみにPostgresqlを使ってる。

GitHub - Alexis-benoist/eralchemy: Entity Relation Diagrams generation tool


こういう一時的な用途で、自分のPCにいろいろパッケージ入れたりするのは避けたいので、Dockerを使う。

本当に1回だけの使い捨てならDockerfileも作らずにコマンド操作だけでいける。


ベースとしてpython2.7の公式イメージを使う。
Dockerが入っているホストマシンで実行してbashに入る

sudo docker run -it python:2.7 bash

まずはレポジトリのアップデート。
これをしないとインストールする時にいろいろエラー出た。

apt-get update

必要なものをインストール

apt-get install eralchemy graphviz psycopg2

PDFで出力

eralchemy -i 'postgresql+psycopg2://dbuser:db_password@db_host/db_name' -o hoge.pdf

eralchemyコマンドはこちらを参考にした
qiita.com


起動したままにして、ホストにもどってコピーする。
コンテナIDはdocker psで確認

sudo docker cp {コンテナID}:hoge.pdf ./

完了。

何度も使ったり調整する場合は、Dockerfileに書いて取っておいた方がいい。

いい感じのER図のPDFが、ホストマシンを汚すことなくすぐ作れた