是否有工具支持从现有Firestore数据库反向生成Entity Relationship Diagram
Cloud Firestore 反向生成实体关系图可用工具说明
首先需要明确:Cloud Firestore 是无模式的文档型 NoSQL 数据库,没有传统关系型数据库预定义的表结构约束,因此所有工具生成的都是基于现有实际存储数据统计得到的实体关联映射图,并非严格意义上的 SQL 标准 ER 图。
目前常用的工具主要分三类:
开源本地工具
- 自行实现扫描脚本:可以通过
firebase-adminSDK 连接到你的 Firestore 项目,编写简易脚本递归遍历所有集合、子集合和文档样本,统计各实体的字段类型、Reference类型字段的指向关联,整理出实体映射关系后自行渲染成可视化图。 - 封装好的开源 CLI 工具:已有开发者将上述扫描逻辑封装成开箱即用的命令行工具,你只需要配置好 Firestore 访问权限,运行对应命令即可自动完成扫描,直接导出 PNG、SVG 格式的关系图,无需额外开发。
Firebase 生态配套工具
部分第三方 Firebase 可视化管理 GUI 自带结构导出功能,在本地启动工具并连接到你的项目后,可直接选择扫描现有数据库结构,一键生成实体关联图,还支持手动调整实体位置、补充关联关系备注。
通用数据库可视化工具
很多支持 NoSQL 数据源的通用数据库可视化平台都已适配 Firestore,你只需要导入 Firestore 服务账号密钥完成授权,工具会自动扫描所有集合、子集合、字段类型以及引用关联,自动生成可视化关系图,后续数据库结构更新时也可以同步刷新图内容。
注意:受 Firestore 无模式特性的影响,生成的图仅基于你扫描时获取的文档样本统计得到。如果你的部分文档存在未被扫描到的字段、或是存在引用字段指向不存在的集合的情况,生成结果可能存在偏差,建议扫描时拉取足够多的文档样本提升准确率。
内容的提问来源于stack exchange,提问作者Shaurya Kohli
相关产品推荐
相关产品推荐

