使用 SchemaSpy 与 Docker 生成数据库文档(Windows、Linux、macOS)

发布: (2026年3月26日 GMT+8 10:32)
3 分钟阅读
原文: Dev.to

Source: Dev.to

介绍

SchemaSpy 是一个可以从数据库生成交互式 HTML 文档的工具。本指南以 Oracle 为例,但 SchemaSpy 同样支持 PostgreSQL、MySQL、SQL Server 等。借助 Docker,你可以在 Windows、Linux 或 macOS 上运行它。

前置条件

  • 系统已安装 Docker(例如 Docker Desktop
  • JDBC 驱动。Docker 镜像已内置以下驱动:
    • MySQL
    • MariaDB
    • PostgreSQL
    • jTDS
      如果使用上述任意一种数据库,则 不需要 再额外下载驱动。
  • 对于 Oracle,请从 Oracle 官网 下载 JDBC 驱动 ojdbc11.jar

入门

步骤 1:创建工作目录

mkdir schemaspy-doc && cd schemaspy-doc
mkdir drivers output

步骤 2:添加 JDBC 驱动

将下载好的 ojdbc11.jar 移动到刚才创建的 drivers/ 目录中。

步骤 3:创建 schemaspy.properties

新建一个名为 schemaspy.properties 的文件,内容如下:

schemaspy.t=orathin-service
schemaspy.driver=oracle.jdbc.OracleDriver

schemaspy.host=server_or_ip
schemaspy.port=1521
schemaspy.db=db_name
schemaspy.u=database_user
schemaspy.p=database_password
schemaspy.schema=schema_name

schemaspy.norows=true
schemaspy.noviews=true
# Required in Oracle
schemaspy.cat=%

如果不确定 schemaspy.t 参数该使用什么值,可运行:

docker run --rm schemaspy/schemaspy -dbHelp

该命令会列出支持的数据库类型以及每种类型所需的参数。

步骤 4:使用 Docker 运行 SchemaSpy

在 Linux/macOS 上

docker run --rm \
  -v "$(pwd)/schemaspy.properties:/schemaspy.properties" \
  -v "$(pwd)/output:/output" \
  -v "$(pwd)/drivers:/drivers" \
  schemaspy/schemaspy

在 Windows(PowerShell)上

docker run --rm `
  -v "${PWD}/schemaspy.properties:/schemaspy.properties" `
  -v "${PWD}/output:/output" `
  -v "${PWD}/drivers:/drivers" `
  schemaspy/schemaspy

注意: 在 Docker 容器内部使用 localhost 作为数据库主机是行不通的,因为 localhost 指向容器本身。请使用 host.docker.internal 来连接运行在宿主机上的数据库,例如:

schemaspy.host=host.docker.internal

步骤 5:查看生成的文档

命令执行完毕后,打开 output/index.html 即可在浏览器中查看。你将看到:

  • 实体‑关系图
  • 表结构
  • 列、索引、关系等信息
  • 美观、可点击、交互式的 HTML 界面

示例输出

示例 1

示例 2

0 浏览
Back to Blog

相关文章

阅读更多 »

ALTER 查询

在本次作业中,我使用 ALTER TABLE 对现有表进行修改。这帮助我了解了如何在不重新创建表的情况下更新约束。任务……

简单的 MySQL 示例用于 E-commice

大家好,我想分享一下我使用 SQL 的经验。下面是一个简单的电子商务 schema,展示了主要的表及其关系。Role Table sql -- Rol...