用 DBeaver 自动生成数据字典:从单表导出到批量文档的完整指南
用 DBeaver 自动生成数据字典从单表导出到批量文档的完整指南【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver你刚接手一个三个月没人动过的老库同事丢给你一句数据字典在文档里自己看。打开文档文件夹发现里面列的字段比数据库里实际的表少了小一半——库一直在变字典一直没人管。这种情况下与其对着旧文档猜不如直接让数据库自己开口。DBeaver 的流式数据导出可以把结构查询的结果导出为 Markdown、HTML、JSON、CSV、XML 等格式从单表到整库都能走同一条路径后面会按上手—交付—同步三个场景拆开讲。上手老库先导出单表结构选一个和落点匹配的格式DBeaver 把每种导出格式实现为独立的 exporter集中在数据导出插件里Markdown、HTML、JSON、CSV、XML、SQL、TXT、DbUnit 等各有对应类入口在 数据导出模块界面层在 导出 UI 插件。你什么时候用在导航树里选中一个表或查询结果走导出流程时消费端列表里直接选目标格式。关键判断就一条——文档给谁看就选谁的母语。格式典型落点MarkdownREADME、内部 wiki、版本库HTML发给客户的交付文档、在线展示JSON喂给 API 文档工具或脚本二次加工CSV丢进 Excel 做核对XML系统集成、配置管理调一调 Markdown 表格的选项Markdown 导出器对表格细节有专门控制源码见 DataExporterMarkdownTable.java。你能调的包括空值显示文本nullString、数字是否格式化formatNumbers、是否输出表头分隔行showHeaderSeparator、Confluence 兼容格式confluenceFormat、单元格内容转义escapeCellContent。另外两件事它自动做单元格里的竖线会转义成#124;换行会被替换成br所以注释里带换行也不会把表格撑破。产出大致长这样| username | email | is_nullable | | -------- | ----- | ----------- | | alice | aliceexample.com | NO | 交付前批量出文档把整库结构拼成一张宽表再导出单表导出解决新人看一张表的问题交付场景要的是全库视图。做法很朴素写一条拼目录视图的查询把列名、类型、可空性、默认值、注释一次取出来再把查询结果按 Markdown 或 HTML 导出。不同数据库的目录视图名字不同MySQL 用information_schemaPostgreSQL 也提供同名视图下面这条按 PostgreSQL 写法你换成自己库的对应视图即可SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema public ORDER BY table_name, ordinal_position;同一思路可以复制成几条查询一条出列、一条出索引、一条出外键分别导出后拼进同一份 Markdown就是一份结构完整的数据字典。按接收方选格式交付文档的读者不固定格式跟着接收方走接收方建议格式原因开发团队Markdown能进版本库diff 友好客户HTML样式稳定可直接打开自动化流程JSON结构化方便解析DBA 核对CSV进 Excel 逐行比对日常变更同步把导出过程写成可复用脚本数据字典要跟着 schema 走前提是导出过程本身可重复。DBeaver 的导出核心是DataTransferJob这条任务管道producer查询或对象接 consumer格式 exporter中间还能挂 processor 做转换。想脱离界面批量跑可以关注 无界面模块它提供不依赖 UI 启动平台的路径适合把连库—执行结构查询—导出文件封装成你自己的脚本再按环境配置不同的连接参数。在 CI 里挂每日文档任务脚本就位后交给流水线是最省心的同步方式定时触发跑一遍导出把产物提交回文档目录。骨架长这样具体连接参数放在 CI 的 secret 里on: schedule: - cron: 0 2 * * * jobs: generate: runs-on: ubuntu-latest steps: - run: ./scripts/export-dictionary.sh凌晨两点跑完第二天早上打开仓库就是最新的字典谁改了表结构、注释跟没跟上git 记录里一目了然。接下来可以做的事挑一张你负责的表跑一次结构查询用 Markdown 格式导出确认转义和空值显示符合预期。按列 / 索引 / 外键拆三条目录查询导出后拼成一份整库字典存进项目的 docs 目录。把连库和导出封装成一个脚本参数化连接信息先在自己机器上手动跑通。把脚本挂进流水线的定时任务观察一周看文档变更和实际 DDL 变更是否能对上。【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
