当前位置: 首页 > news >正文

SchemaCrawler:一款免费开源的数据库文档工具

SchemaCrawler 是一个免费开源的数据库元数据发现、理解和文档化工具,可以帮助我们理解数据库结构、生成实体关系图和数据库文档。

SchemaCrawler 提供命令行脚本以及 Java API 两种使用方式,满足不同业务场景需求。

功能特性

  • 免费开源:基于宽松的 EPL 或者 LGPL 许可证,可免费用于商业和开源项目。
  • 跨平台性:SchemaCrawler 基于 Java 开发,支持 Windows、Linux、macOS。
  • 多数据库:SchemaCrawler 使用 JDBC 驱动连接数据库,因此可以支持绝大多数数据库系统。默认自带了 MySQL、MariaDB、PostgreSQL、Oracle、SQL Server、Db2、SQLite、Cassandra、Trino、DuckDB、H2、HSQLDB、Amazon Redshift、Snowflake 等数据库驱动。
  • 元数据提取:支持搜索、过滤以及获取表、视图、列、数据类型、默认值、主键、外键、索引、唯一约束、存储过程、函数、触发器、序列、表空间、用户权限、数据库属性等信息。
  • 结构可视化:通过集成 Graphviz 生成高质量的实体关系图(ERD),直观地展示表之间的关系。
  • 丰富的文档格式:支持文本、HTML、JSON、YAML 等格式文档,所有格式都可以方便差异比较。
  • 内嵌脚本引擎:支持 JavaScript, Groovy, Python, Ruby 等脚本语言,可以实现:自定义 Schema 分析,数据质量验证,动态生成代码或文档模板等功能。
  • 强大的命令行: 核心功能通过命令行调用,易于集成到自动化脚本、构建工具(Maven、Gradle)和 CI/CD 流程中。
  • AI 支持:提供 MCP Server,支持大语言模型访问数据库;交互式 Shell 支持集成 ChatGPT。

在线体验

SchemaCrawler 提供了一个在线体验环境,可以通过浏览器直接访问,地址如下:

https://killercoda.com/schemacrawler

通过这个在线环境可以学习如何下载安装 SchemaCrawler、使用命令行和交互式 Shell 工具探索数据库结构并生成各种格式的输出文件。

下载安装

SchemaCrawler 支持本地安装,需要提前安装 Java 运行环境。使用以下命令验证是否已经安装 Java:

PS C:\Users\bell-> java -versionjava version "24.0.1" 2025-04-15
Java(TM) SE Runtime Environment (build 24.0.1+9-30)
Java HotSpot(TM) 64-Bit Server VM (build 24.0.1+9-30, mixed mode, sharing)

然后通过以下网址下载安装包:

https://github.com/schemacrawler/SchemaCrawler-Installers/releases

或者也可以选择以下方式之一进行安装:

# Windows平台## 使用Scoop进行安装
scoop install schemacrawler## 使用Chocolatey进行安装
choco install schemacrawler# 使用SDKMan跨平台安装
sdk install schemacrawler

安装完成后,在命令行中输入以下内容进行验证:

.\bin\schemacrawler.bat -VSchemaCrawler 16.26.3
Database schema discovery and comprehension tool
https://www.schemacrawler.com/
Copyright (c) 2000-2025, Sualeh Fatehi <sualeh@hotmail.com>.You can search for database schema objects using regular expressions,
and output the schema and data in a readable text format. You can find
potential schema design issues with lint. The output serves for
database documentation is designed to be diff-ed against other database
schemas. SchemaCrawler also generates schema diagrams.

对于 Linux 或者 macOS,使用 schemacrawler.sh 替代 schemacrawler.bat。

我们还可以使用 Docker 运行 SchemaCrawler,命令如下:

docker run schemacrawler/schemacrawler

推荐使用官方入门教程开始学习:

https://www.schemacrawler.com/getting-started.html

http://www.dtcms.com/a/308370.html

相关文章:

  • 斐波那契数
  • AI学习笔记三十三:基于Opencv的单目标跟踪
  • OpenCSG月度更新2025.7
  • leecode18 四数之和
  • 个股期权合约期内遇到标的停牌,如何处置?
  • DoRA详解:从LoRA到权重分解的进化
  • Redis线程模型讨论
  • 修改VSCode远程SSH的PATH
  • JVM字节码文件结构剖析
  • JVM学习日记(十二)Day12
  • 解释 MySQL 中的 EXPLAIN 命令的作用和使用场景
  • 格雷希尔G25F系列电气端口快速封堵接头,解决电池包、电机控制器等壳体的气密性测试难题,提升效率与可靠性,助力新能源汽车生产。
  • ARM--中断
  • 三坐标测量仪攻克深孔检测!破解新能源汽车阀体阀孔测量难题
  • 雷霆战机游戏代码
  • ABS系统专用磁阻式汽车轮速传感器
  • 建设公司如何优化梳理部门职责,提高运作效率?
  • 中烟创新自研【烟草行政许可文书制作系统】纳入“北京市人工智能赋能行业发展典型案例集”
  • 电子电气架构 --- 车载48V系统
  • 如何导入json文件到数据库
  • 生信技能76 - 根据SNP列表提取SNP位点上下游的参考基因组fasta
  • RocksDB关键设计详解
  • MySQL 45讲 16-17
  • 【Linux网络编程】网络层协议 - IP
  • 大模型微调工具LLaMA-Factory的安装流程
  • Git Pull 时遇到 Apply 和 Abort 选项?详解它们的含义与应对策略
  • sqli-labs:Less-16关卡详细解析
  • 数字通信原理--数字通信仿真基础
  • 基于C++的protobuf协议使用(四)项目应用与总结
  • 学以致用——用Docker搭建ThinkPHP开发环境