Skip to main content

简单实体关系 (ER) 图生成

项目描述

PyPI 版本 PyPI 下载 Github 操作

实体关系图生成器

eralchemy2 从数据库或 SQLAlchemy 模型生成实体关系(ER)图(如下图)。适用于 SQLAlchemy < 1.4,但也适用于大于 1.4 的版本

例子

图表示例

NewsMeme 的示例

快速开始

安装

要安装 eralchemy2,只需执行以下操作:

$ pip install eralchemy2

eralchemy2需要GraphViz来生成图形和 Python。两者都可用于 Windows、Mac 和 Linux。

从命令行使用

从数据库

$ eralchemy2 -i sqlite:///relative/path/to/db.db -o erd_from_sqlite.pdf

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

来自降价文件。

$ curl 'https://raw.githubusercontent.com/maurerle/eralchemy2/main/example/newsmeme.er' > markdown_file.er
$ eralchemy2 -i 'markdown_file.er' -o erd_from_markdown_file.pdf

从 Postgresql DB 到 markdown 文件,不包括名为tempaudit

$ eralchemy2 -i 'postgresql+psycopg2://username:password@hostname:5432/databasename' -o filtered.er --exclude-tables temp audit

从 Postgresql DB 到 markdown 文件,不包括命名列created_atupdated_at所有表

$ eralchemy2 -i 'postgresql+psycopg2://username:password@hostname:5432/databasename' -o filtered.er --exclude-columns created_at updated_at

从 Postgresql 数据库到架构的降价文件schema

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

来自 Python 的用法

from eralchemy2 import render_er
## Draw from SQLAlchemy base
render_er(Base, 'erd_from_sqlalchemy.png')

## Draw from database
render_er("sqlite:///relative/path/to/db.db", 'erd_from_sqlite.png')

建筑学

架构模式

由于它的模块化架构,它可以连接到其他 ORMs/ODMs/OGMs/O*Ms。

贡献

欢迎对GitHub 问题提出任何反馈。

要运行测试,请使用 :$ py.test$ tox. 一些测试需要一个本地 postgres 数据库,该数据库的模式名为 test 在名为 test 的数据库中,所有这些数据库都由名为 eralchemy 的用户拥有,密码为 eralchemy。这可以使用 docker-compose 轻松设置:docker-compose up -d.

欢迎所有经过测试的 PR。

笔记

eralchemy2 是其前身ERAlchemy的一个分支,由 @Alexis-benoist 开发,不再维护,并且不适用于 SQLAlchemy > 1.4。如果再次维护,我想将集成的更改推送到上游。

ERAlchemy 受到erd的启发,尽管它能够直接从数据库中渲染 ER 图,而不仅仅是从ER标记语言中。

根据 Apache 许可证 2.0 发布

初始创作者:Alexis Benoist Alexis_Benoist

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

eralchemy2-1.3.4.tar.gz (16.0 kB 查看哈希

已上传 source

内置分布

eralchemy2-1.3.4-py3-none-any.whl (16.0 kB 查看哈希

已上传 py3