简单实体关系图生成

ERAlchem的Python项目详细描述


Join the chat at https://gitter.im/Alexis-benoist/eralchemy

eralchemy生成实体关系(er)图(如下所示) 从数据库或sqlalchemy模型。

示例

Example for NewsMeme

图形示例

Example for NewsMeme

快速启动

安装在Mac上

在osx上安装eralchemy最简单的方法是使用 Homebrew

$ brew install eralchemy

安装

要安装eralchemy,请执行以下操作:

$ pip install eralchemy

ERAlchemy需要 GraphViz生成 图形和python。两者都适用于windows、mac和linux。

从命令行使用

来自数据库
$ eralchemy -i sqlite:///relative/path/to/db.db -o erd_from_sqlite.pdf

数据库被指定为 SQLAlchemy 数据库URL。

来自标记文件。

$ curl 'https://raw.githubusercontent.com/Alexis-benoist/eralchemy/master/example/newsmeme.er' > markdown_file.er
$ eralchemy -i 'markdown_file.er' -o erd_from_markdown_file.pdf

从postgresql数据库到标记文件,不包括名为tempaudit的表
$ eralchemy -i 'postgresql+psycopg2://username:password@hostname:5432/databasename' -o filtered.er --exclude-tables temp audit

从PostgreSQL数据库到标记文件,不包括所有表中名为^{TT4}$和^{TT5}$的列
$ eralchemy -i 'postgresql+psycopg2://username:password@hostname:5432/databasename' -o filtered.er --exclude-columns created_at updated_at

从PostgreSQL数据库到架构的标记文件schema

$ eralchemy -i 'postgresql+psycopg2://username:password@hostname:5432/databasename' -s schema

来自python的用法

fromeralchemyimportrender_er## Draw from SQLAlchemy baserender_er(Base,'erd_from_sqlalchemy.png')## Draw from databaserender_er("sqlite:///relative/path/to/db.db",'erd_from_sqlite.png')

架构

Architecture schema

架构模式

由于它的模块化架构,它可以连接到其他 orms/odms/ogms/o*ms.

贡献

欢迎在GitHub issues上提供任何反馈。

要运行测试,请使用:$ py.test。有些测试需要本地 postgres数据库,在名为test all的数据库中使用名为test的架构 由密码为postgres的postgres用户拥有。

欢迎所有经过测试的公关人员。

注释

eralchemy的灵感来自erd, 尽管它能够直接从数据库中呈现er图 不仅仅是来自ER标记语言。

在apache许可证2.0下发布 创作者:Alexis Benoist Alexis_Benoist

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在JavaEE中隔离用户会话?   java什么是CacheManager的替代方法。集合名(字符串名)   当am通过==运算符比较对象时,java sop命令未打印附加文本为什么?   java如何关闭一个gui的一个窗口,该窗口有两个打开的窗口,而不同时关闭这两个窗口?   java如何在socket回调中使用观察器?   java在自定义soap处理程序中是否有一种获得操作名的保证方法?   正则表达式Java解析字符串   java希望从其他方法检索RGB像素值,但无法检索   java如何在Android RecyclerView中循环浏览项目?   java tomcat 8上的主机中的软件中止了已建立的连接   java Apache CXF3。具有可靠消息传递的0.4 Soap web服务引发异常   Java与Hibernate数据库   使用put存储新的键值对时,现有键的java Hashmap值将被覆盖。如何预防?   并非所有unix shell的java命令都在运行   java根据元素的自然顺序对列表进行排序   基于值的java同步方法评估   java如何使用axis2 java2wsdl创建标头?   铸造如何阻止java舍入   java计数休眠和命名查询