🚀 我构建了 supabase-markdown — 一个在所有模式下生成完整 Supabase ERD 的工具(因为 Visualizer 做不到)

发布: (2025年12月20日 GMT+8 15:41)
2 min read
原文: Dev.to

Source: Dev.to

Cover image for 🚀 I built supabase-markdown — A tool to generate a full Supabase ERD across all schemas (because Visualizer can’t)

介绍

大家好 👋

Supabase 截图 1

Supabase 截图 2

如果你使用过 Supabase Visualizer,你会知道它很棒——但它有一个限制:

一次只能查看一个 schema。

对于小项目这没问题,但当你的应用增长并且拥有多个 schema(例如 publicstorageauthgraphql_public 以及自定义 schema)时,想要一眼看到整个数据库结构几乎不可能。我非常需要一个“全局视图”,于是我自己实现了它。

🔥 介绍 supabase-markdown

GitHub:

通过 npm 安装:

pnpm add -D supabase-markdown

🧠 它解决了什么问题?

Supabase Visualizer 只能一次显示一个 schema,导致难以了解数据库的真实结构。使用 supabase-markdown,你可以得到:

  • 一个文件
  • 一个图表
  • 每一张表
  • 跨所有 schema
  • 所有关系一起展示

现在你可以生成像下面这样的单一统一 ERD。

示例 ERD(Mermaid)

erDiagram
  accounts ||--o{ posts : account_id
  posts ||--o{ post_hashtags : post_id
  hashtags ||--o{ post_hashtags : hashtag_id
  profiles ||--|| accounts : id
  storage.objects ||--o{ public_posts : image_id

全部集中在一处。无需在 schema 之间点击切换。

🛠️ 工作原理

Supabase 已经通过以下方式提供了完整的 schema 表示:

supabase gen types typescript

生成的 TypeScript 文件包含以下定义:

  • 枚举
  • 关系
  • 外键
  • schema

supabase-markdown 解析该文件并输出:

  • 完整的 Markdown 文档
  • 跨 schema 的合并 ERD
  • 按 schema 分组的表
  • 完全静态的输出(非常适合 GitHub、Notion、文档站点)
Back to Blog

相关文章

阅读更多 »

项目结构检查器

它的作用是 PSX 自动检测项目类型(Node、Go 等),并运行一套规则以确保仓库拥有必要的文件。如果缺少某些文件……