schemaspy 逆向输出数据库设计

网友投稿 754 2022-05-29

请用5分钟阅读本文,然后立即投入实践,养成良好的设计习惯,你将节约无数宝贵的屎山打滚时间。

先澄清几个误区:

schemaspy 不是做schema 设计的:设计还是要自己写,并且有条件的话在开发之前写清楚,schemaspy 是抽取文档并展示、索引的工具

我的屎山数据库没有设计,schemaspy 对我没用:现在是你最需要schemaspy 的时候,它可以逆向生成一份超出你预期的基础文档

schemaspy会改善我的数据库设计:有可能。准确说 schemaspy 只是告诉你数据库什么样,至于改不改还是你说了算,它给了一些建议。

schemaspy 有点像doxygen , 都是在事后清理的时候排上用场。使用上 schemaspy 更简单一些,只要基本的6项数据库连接信息(ip,端口,用户名,密码,数据库名,数据库类型),就可以为本地或者服务端正在运行的数据库生成详细的schema信息和基本的诊断。

下载 schemaspy

多数软件首选github, 但是这个是例外, 试过几次,我认为最简单的方法是官网下载 jar 包。

收集数据库6项基本信息

schemaspy 需要连接到正在运行的数据库,所以以下信息是必须的:

ip

端口

用户名

密码

数据库名

数据库类型(oracle, postgres, mysql 等)

注意,数据库必须是正在运行且通过以上信息能够访问的,但是不要求数据库与schemaspy 运行在同一台机器。

连接 jar

schemaspy.jar 是个jar 包,除了它, 还需要数据库对应的连接 jar 包。

举例来说,我的目标数据库是 postgres 类型, 我在官网下载了  postgresql-42.2.1.jar,  一般来说,大版本匹配就可以。

生成文档

schemaspy 逆向输出数据库设计

java -jar schemaspy-6.1.0.jar -t pgsql  -dp postgresql-42.2.1.jar -db test_1  -host 100.xxx.xxx.195 -port 54xx  -u root -p YOURPASSWD -o schema

文档生成速度非常快,到这一步,按照命令行指定,所有离线文档都打包在 schema 文件夹, 和 doxygen 一样, 可以下载到本地,打开index.html , 即可进入文档首页。更推荐将文档同步到web服务器,开放给团队访问。

文档结构

走马观花看一下输出

table/columns

基本信息,亮点是可以多格式导出,比如xlsx。

orpahn tables

孤儿表的识别比较实用,不光列出表名,基础信息也有了。  码太厚, 供示意用。

relationship

这是我最喜欢的,也是多数人用schemaspy 的理由。真正体现了事后补救的功能。

在全局 ER 图里, 默认只显示主键和索引键,点击 '...' 可以展开详细的单表视图, 对比较长的加工链条,可以看表的二度连接,这也是恰到好处的功能。

anomalies

这个仅供参考,不是schemaspy 的重点。

Shell 数据迁移 EI创新孵化Lab 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:机器人和物联网方向毕业设计补充说明(2021年) 如何做好机器人方向的毕业设计?
下一篇:浅谈XML与HTML的区别
相关文章