python 3中的SQLAlchemy ER图

新手上路,请多包涵

有谁知道在 python 3 中从 SQLAlchemy 模型制作 ER 图的方法。我找到了 sqlalchemy_schemadisplay,它是 python 2,因为 pydot 和 ERAlchemy 也只是 python 2。

原文由 BrHa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

你可以试试 炼金术

 import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import pandas as pd
from eralchemy import render_er

from sqlalchemy import (MetaData, Table, Column)
metadata = MetaData()

# create your own model ....
users = Table('users', metadata,
    Column('user_id', Integer(), primary_key=True),
    Column('username', String(15), nullable=False, unique=True),
)
orders = Table('orders', metadata,
    Column('order_id', Integer()),
    Column('user_id', ForeignKey('users.user_id')),
)
# add your own table ....

# Show ER model from here
filename = 'mymodel.png'
render_er(metadata, filename)
imgplot = plt.imshow(mpimg.imread(filename))
plt.rcParams["figure.figsize"] = (15,10)
plt.show()

然后它显示模型。

在此处输入图像描述

我使用的那些模块是:

Software Version Python 3.4.5 64bit IPython 5.1.0 OS Windows 10 sqlalchemy 1.1.5 eralchemy 1.1.0 matplotlib 2.0.0

原文由 Jesse 发布,翻译遵循 CC BY-SA 3.0 许可协议

正如之前的回答中提到的, sqlalchemy_schemadisplay 是一个非常简单的工具。以下是您将如何使用它的基本方法:

 from sqlalchemy_schemadisplay import create_schema_graph
from sqlalchemy import MetaData

graph = create_schema_graph(metadata=MetaData('postgres://user:pwd@host/database'))
graph.write_png('my_erd.png')

原文由 Yaakov Bressler 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题