用schemaSpy制作数据库文档
Schemaspy是一款Java开发的数据库文档生成工具,是开源的。生成的数据库文档非常的漂亮,实用。最近探索了两天终于会使用这个工具了。我接触到这个工具是在开源的DotNet工作流netBpm网站上看到netBpm的数据库文档。
1、下载软件
JDK下载 http://java.sun.com/javase/index.jsp可以下载到最新版本
SchemaSpy下载 SchemaSpy
Graphviz - Graph Visualization Software 下载 http://www.graphviz.org
SqlServer2005 JDBC驱动下载 http://msdn.microsoft.com/data/jdbc/
2、配置JDK和环境变量
1)确认登陆Windows帐号为管理员级别帐号 2)鼠标右击[我的电脑]-弹出菜单中选择[属性]-弹出对话框中选择[高级]-点击[环境变量] 3)下面操作在[系统变量]中进行,如果系统变量已存在相同变量名且包含相同变量值,则跳过该步操作;如果系统变量已存在相同变量名但未包含相同变量值,则添加该变量值(用英文“;”隔开);如果系统变量不存在相同变量名,则按如下操作[新建]变量名并赋变量值。
[新建]变量名:Java_Home 变量值:c: j2sdk1.4.1_02
[新建]变量名:Path 变量值:
%SystemRoot%system32;%SystemRoot%;%SystemRoot%system32WBEM;C:Program FilesMicrosoft SQL Server90Toolsbinn;C:Program FilesMicrosoft SQL Server80ToolsBinn;C:Program FilesMicrosoft SQL Server90DTSBinn;C:Program FilesMicrosoft SQL Server90ToolsBinnVSShellCommon7IDE;D:Program FilesMicrosoft Visual Studio 8Common7IDEPrivateAssemblies;C:Documents and SettingsAdministrator桌面IronPythonIronPython-1.0;C:j2sdk1.4.1_02bin;C:PROGRA~1ATTGraphvizbin;
[新建]变量名:ClassPath 变量值:
C:j2sdk1.4.1_02lib;C:j2sdk1.4.1_02libtools.jar;C:j2sdk1.4.1_02libdt.jar;D:Program FilesSplendidCRM SoftwareschemaSpy_3.0.0.jar;c:Program FilesSplendidCRM SoftwareMicrosoft SQL Server 2005 JDBC Driversqljdbc_1.0enusqljdbc.jar
3、 为运行Schemaspy制作一个批处理命令:
java -jar schemaSpy_3.0.0.jar -t mssql05 -db SPLENDIDCRM -host SHANYOUSPLENDIDCRM -port 1433 -o SPLENDIDCRM -u crm -p crm -s dbo
java -jar schemaSpy.jar -t dbType -db dbName [-s schema] -u user [-p password] -o outputDir [-nohtml][-noimplied]
Parameter
Description
-t databaseType
Type of database (e.g. ora, db2, etc.). Use -dbhelp for a list of built-in types. Defaults to ora.
*
-db dbName
Name of database to connect to
*
-u user
Valid database user id with read access
-s schema
Database schema (optional if the same as user or isn't supported by your database)
-p password
Password associated with that user. Defaults to no password.
*
-o outputDirectory
Directory to write the generated HTML/graphs to
-cp pathToDrivers
Looks for drivers here before looking in driverPath in [databaseType].properties
-nohtml
Only generate files needed for insertion/deletion of data (e.g. for scripts)
-x columnNamesRegex
Exclude matching columns from relationship analysis to simplify the generated graphs. This is a regular expression that's used to determine which columns to exclude. It must match table name, followed by a dot, followed by column name. For example: -x "(book.isbn)|(borrower.address)" Note that each column name regular expression must be surround by ()'s and separated from other column names by a |.
-noimplied
Don't include implied foreign key relationships in the generated table details
* denotes required parameter.
Here are the currently supported database types. Use java -jar schemaSpy.jar -dbhelp for a complete list of the supported database types and the parameters that each one requires.
Type
Description
db2
IBM DB2 with the 'App' Driver
db2net
IBM DB2 with the 'Net' Driver
firebird
Firebird
hsqldb
HSQLDB Server
mssql
Microsoft SQL Server
mysql
MySQL
ora
Oracle with OCI8 Driver
orathin
Oracle with Thin Driver
pgsql
PostgreSQL
sybase
Sybase Server with JDBC3 Driver
sybase2
Sybase Server with JDBC2 Driver
udbt4
DB2 UDB Type 4 Driver
- go基础之--函数和map
- docStrings报错
- java中如何初始化接口
- 你和PPT高手之间,就只差一个iSlide
- 如何在原生微信小程序中实现数据双向绑定
- 追溯 React Hot Loader 的实现
- 【推荐】开源项目minapp-重新定义微信小程序的开发
- 【完结汇总】iKcamp出品基于Koa2搭建Node.js实战共十一堂课(含视频)
- hadoop性能调优
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
- DiscuzX v3.4 任意文件删除漏洞
- 系列3|走进Node.js之多进程模型
- Java中Arraylist与linkedlist的区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Canvas基础教程(章节3)
- 口算训练 HDU - 6287
- Codeforces Round #674 (Div. 3) A ~ F 详细讲解
- C# 生成chart图表的三种方式
- C# Task.Run调用外部参数
- Git全方位指南,即用即查就可
- Python入门教程笔记(二)控制语句
- Python入门教程笔记(一)简介、变量及基本数据类型
- C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别
- typescript高级用法之infer的理解与使用
- 基于业务场景下的图片/文件上传方案总结
- LeetCode96|二叉搜索树中的搜索
- LeetCode95|字符串中的第一个唯一字符
- LeetCode94|Pow(x,n)
- LeetCode93|数值的整数次方