简体中文 | English
DBTree是一个WEB版的轻量数据库表结构查看及管理工具,相比phpMyAdmin, DBTree只专注于方便开发查看表结构信息和 注释维护。通过树形展示库表结构,可以对表进行自定义归类,在线更新注释。你还可以使用它来部分替代mybatis generator的代码生成 功能。
在不断的迭代过程中,数据库是开发之间沟通非常频繁且重要的一个环节,我们发现无论是mss management studio,phpMyAdmin这类数据库客户端还是 类似Power Designer的数据库设计软件对表信息共享,注释维护这两个需求来说用起来都非常不便利,尤其是有上千个分表的时候,客户端用起来还是非常难受的。 所以写了这个网页小工具,希望对有同样需求的人有所帮助。
还有一个很酷的功能,就是你可以选择表,然后一键生成下载mybatis资源文件的功能,非常方便,不用配置mybatis generator配置文件。
dbtree-backend/src/main/resources/dbconfig/db-server.json
{
"mysql-127.0.0.1": {
"db_type": "mysql",
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "123456"
},
"sqlserver-127.0.0.2": {
"db_type": "sqlserver",
"host": "127.0.0.2",
"port": 1433,
"user": "root",
"password":"123456"
}
}
密码是明文配置
dbtree-backend/src/main/resources/dbconfig/db-config.json
{
"db_1": {
"db_name": "db_1",
"db_server": "mysql-127.0.0.1",
"split_table_rules": [
{
"delegate_table": "rule",
"table_pattern": "rule_%"
}
]
},
"db_2": {
"db_name": "db_2",
"db_server": "sqlserver-127.0.0.2"
}
}
db-config.json配置文件内容是map结构的json数据,其中key必须和库名(db_name)一致。split_table_rules是指定分表策略,例子的意思是用 rule 代替所有rule_%的表。
mybatis生成文件存放目录。
mysql jdbc jar包位置, 用于配置mybatis generator core的mysql classpathEntry。你可以直接使用dbtree/connector/mysql-connector-java-5.1.36.jar 拷贝到你的服务器上
sqlserver jdbc jar包位置, 用于配置mybatis generator core的SQL Server classpathEntry。你可以直接使用 dbtree/connector/sqljdbc42.jar拷贝 到你的服务器上
mysql表创建语句见:dbtree-backend/doc/schema目录
自行修改配置文件中的数据库服务器地址,和用户名, 密码,密码使用druid默认加密。参考: druid数据库密码加密
环境要求
打开项目运行,访问:http://localhost:8080
为了更好的开发体验,你应该单独使用VS Code打开dbtree-vue目录,进行调试。执行如下命令:
# install dependency
npm install
# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# develop
npm run dev
会自动打开: http://localhost:9528
JDK使用1.8
项目使用 springboot2.x + vue-element-template + mybatis。dbtree-vue资源会打包进dbtree-backend/src/main/resources/public下。直接部署 dbtree-backend/target/dbtree-{version}.jar就可以了。
打包后会自动生成dbtree-backend/target/dbtree-{version}.zip文件,将包上传到服务器上,解压后,已经写好启动脚本,端口改为自己的即可。
# start
scripts/startup.sh
# stop
scripts/shutdown.sh
这个工具主要给开发人员使用,部署到测试就可以了,没必要部署到线上,也不安全。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型