sqlalchemy模式显示脚本

sadispla的Python项目详细描述


关于

用于描述sqlalchemy模式和显示原始数据库的简单包 桌子。通过foreignkey列检测关系。 支持映射类继承。BSD许可。

输出格式:

要求

  • python>;=2.5
  • sqlalchemy>;=0.5

安装

pip install sadisplay

来自Bitbucket:

pip install http://bitbucket.org/estin/sadisplay/get/tip.tar.gz
# or
easy_install http://bitbucket.org/estin/sadisplay/get/tip.tar.gz

用法

在项目环境中编写简单的脚本:

import codecs
import sadisplay
from yourapp import model

desc = sadisplay.describe(
    [getattr(model, attr) for attr in dir(model)],
    show_methods=True,
    show_properties=True,
    show_indexes=True,
)
with codecs.open('schema.plantuml', 'w', encoding='utf-8') as f:
    f.write(sadisplay.plantuml(desc))
with codecs.open('schema.dot', 'w', encoding='utf-8') as f:
    f.write(sadisplay.dot(desc))

# Or only part of schema
desc = sadisplay.describe([model.User, model.Group, model.Persmission])
with codecs.open('auth.plantuml', 'w', encoding='utf-8') as f:
    f.write(sadisplay.plantuml(desc))
with codecs.open('auth.dot', 'w', encoding='utf-8') as f:
    f..write(sadisplay.dot(desc))

呈现plantuml类图:

$ java -jar plantuml.jar schema.plantuml

# or for svg format
$ java -jar plantuml.jar -Tsvg schema.plantuml

按图形呈现图形:

$ dot -Tpng schema.dot > schema.png

您还可以通过反射功能来显示SQL数据库表:

$ sadisplay -u <URL connection string to db> -r dot > schema.dot
$ dot -Tpng schema.dot > schema.png

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

推荐PyPI第三方库


热门话题
java遍历数组并检查项的值   在名为“”的DispatcherServlet中找不到URI为[/api/encodedurl]的HTTP请求的java映射   java如何在所有JUnit测试中集成Spring Instrument javaagent   java从Axis2生成的存根获取端点URL   使用Gson从JSON转换为POJO的java问题   java如何在安卓中循环声音   java客户端中的elasticsearch geohash方面   我想用Java从右向左打印*请提供输入   java在安卓中上传一个或多个图像   调试如何在Netbeans中调试Java Web应用程序?   创建2个单例Java类实例   java Android Studio:膨胀类片段时出错(加载活动\主UI时程序崩溃)   来自javajarmyapp的命令行。jar选项到myApp选项   java调用setLocationEnabled在另一个按钮中