keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

eralchemyをWindows環境にインストール

手間取ったのでメモ。

前提

eralchemy は 現在 Python2でしか動かない

依存ライブラリ

  • sqlalchemy
    • 例のごとく pip install sqlalchemy
  • graphviz
  • pygraphviz
    • 例のごとくWindows環境ではビルド失敗なので*1、いつもお世話になっている ここから ダウンロードして pip install

eralchemyのインストール

pip install eralchemy
これで、

import eralchemy

してエラー吐かなかったらOK (.__version__プロパティはなかった)。

使い方

まずは適当にテーブル作る

参考:SQLite Foreign Key Support

import sqlite3
conn = sqlite3.connect('my.db')
query = """
CREATE TABLE artist(
  artistid    INTEGER PRIMARY KEY, 
  artistname  TEXT
);
"""
conn.execute(query)
query = """
CREATE TABLE track(
  trackid     INTEGER PRIMARY KEY, 
  trackname   TEXT, 
  artistid INTEGER,
  albumid     INTEGER,
  FOREIGN KEY(artistid) REFERENCES artist(artistid),
  FOREIGN KEY(albumid) REFERENCES album(albumid)
);
"""
conn.execute(query)
query = """
CREATE TABLE album(
  albumid     INTEGER PRIMARY KEY,
  albumname   TEXT,
  artistid    INTEGER,
  genreid     INTEGER,
  FOREIGN KEY(artistid) REFERENCES artist(artistid),
  FOREIGN KEY(genreid) REFERENCES genre(genreid)
);
"""
conn.execute(query)
query = """
CREATE TABLE genre(
  genreid     INTEGER PRIMARY KEY,
  genrename   TEXT
);
"""
conn.execute(query)
conn.commit()
conn.close()

eralchemyしてみる

import eralchemy
eralchemy.render_er("sqlite:///my.db", "myer.png")

f:id:kaisk:20150524170726p:plain

イイネ!

*1:いつものことだが、Windowsでソースからビルドは苦行なので一刻も早く思考を放棄してバイナリを手に入れる手段を探したほうが良い