Shield CLI 的 PostgreSQL 插件 v0.4.0 已发布:支持 ER 图设计表关系,还能多人协作

今天早些时候聊了 只是想查个数据,不想装 phpMyAdmin 的事------解决的是"手边没工具"的问题。但查数据只是日常的一半,另一半是理解和设计表之间的关系。这次 PostgreSQL 插件 v0.4.0 的重点就是这个:ER 图,而且是能直接操作的 ER 图


不只是看,是能动手的 ER 图

大多数 ER 图工具是"展示型"的------把表关系画出来给你看。这个不一样,它是直接连着真实数据库的,你在图上做的操作会真正执行。效果如下:

高清截图:

具体来说:

拖拽建外键

从 A 表的某个字段拖到 B 表的字段上,外键就建好了。

  • 类型匹配的字段,直接建立关联
  • 类型不匹配,自动在目标表创建一个对应字段再建关联
  • 拖的过程中有视觉提示------绿色表示类型匹配,蓝色表示需要新建字段
  • 不想要的外键?点击关系线选中,按 Delete 删除

不用写 ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY ...,拖一下就行。

右键建表、改字段

  • 空白处右键 → 新建表,可视化添加字段,支持 PG 类型(SERIALJSONBUUIDTIMESTAMPTZ 等)
  • 表头右键 → 重命名、删除表、添加字段
  • 字段右键 → 编辑类型、默认值、NOT NULL,或删除

SQL 预览

每一步操作,执行前都会弹出实际要执行的 SQL。你清楚地知道它要做什么,确认了再执行。不是黑盒。

布局和导航

  • 四种布局:网格 / 水平 / 垂直 / 放射状
  • 拖拽移动表的位置,Ctrl+滚轮缩放
  • 位置自动保存到 localStorage,下次打开还在原来的位置

多人实时协作

ER 图好用,但如果只能一个人看,很多场景就缺了一块,因此 v0.4.0 加了实时协作。

怎么用

不需要额外配置。多个人打开同一个数据库的 ER 图,自动进入协作状态。每个人会被分配一个随机身份(熊猫、狐狸、老鹰之类的)和一个颜色。

能看到什么

  • 在线列表:顶部显示当前有哪些人在看这个 Schema 的 ER 图
  • 实时光标:别人的鼠标位置会实时显示在你的画布上,带名字标签和颜色
  • 拖拽提示:有人在拖动某张表时,你会看到那张表周围出现彩色虚线框和操作者名字
  • 结构同步:任何人修改了表结构(建表、加字段、建外键),所有人的 ER 图自动刷新

典型场景

团队讨论方案时

不用画板、不用截图、不用 "你看第三张表的第五个字段"。打开 ER 图,所有人看到同一个画面,谁在看哪里一目了然。讨论到哪张表,鼠标指过去,大家都能看到。

远程工作时

配合 Shield CLI 的远程访问能力,异地的同事也能接入同一个 ER 图:

bash 复制代码
shield postgres 10.0.0.5:5432 --db-user designer --db-pass xxx

把链接发给同事,浏览器打开就能一起看、一起讨论。比共享屏幕好用------每个人可以自己缩放、移动、查看不同区域,同时还能看到别人在看哪里。

新人了解项目

让新人打开 ER 图,你在旁边(或远程)用鼠标指着讲:"这张 users 表和 orders 表是一对多关系,通过这个外键关联......" 对方能实时看到你的光标在哪里。


还是那么轻

ER 图和协作功能没有引入额外依赖。整个插件依然是一个 Go 静态二进制,Docker 镜像依然是个位数 MB,启动依然不到 1 秒。

ER 图的渲染是纯 SVG + 原生 JavaScript,没有 D3、没有 React、没有 Canvas。协作基于 WebSocket,服务端 300 行 Go 代码。


升级方式

bash 复制代码
# 升级插件
shield plugin update postgres

# 验证版本
shield plugin list
# NAME      VERSION  PROTOCOLS                 INSTALLED
# postgres  v0.4.0   postgres, pg, postgresql  2026-03-26T...

Docker 用户:

bash 复制代码
docker pull fengyily/shield-postgres

串一下

今天发了两篇,可以这么理解这两个东西的关系:

  • 只是想查个数据,不想装 phpMyAdmin :解决"我只是想查个数据"------一行命令,浏览器查数据,用完删掉
  • Shield CLI + 插件(这一篇):解决"我需要理解和设计表关系,还要和团队一起讨论"------ER 图 + 协作 + 远程访问

简单场景用 Docker 镜像,够了。需要 ER 设计、团队协作、远程分享的场景,用 Shield CLI。


接下来

ER 图和协作是 PostgreSQL 插件先上的。MySQL 插件的 ER 支持在做了,逻辑类似,预计很快跟上。

另外,Redis 和 SQL Server 插件也在计划中。


试一下

bash 复制代码
# 安装 Shield CLI
brew install fengyily/tap/shield-cli
# 或
curl -fsSL https://cdn.jsdelivr.net/gh/fengyily/shield-cli@main/install.sh | sh

# 安装/升级 PostgreSQL 插件
shield plugin add postgres

# 连接数据库,打开 ER 图
shield postgres 127.0.0.1:5432 --db-user postgres

开源地址:https://github.com/fengyily/shield-cli

插件仓库:https://github.com/fengyily/shield-plugins

有问题或建议欢迎提 Issue

相关推荐
zbdx不知名菜鸡2 小时前
postgre sql 数据库查询优化
数据库·postgresql
9稳2 小时前
基于PLC的生产线自动升降机设计
开发语言·网络·数据库·嵌入式硬件·plc
南湖北漠2 小时前
OPPO手机相册接入了AI功能之后找关闭手机相册图片AI功能入口网络上面的公开答案
网络·计算机网络·其他·智能手机·生活
zzh940772 小时前
Grok 4.1官网镜像实战:从零搭建智能数据分析助手,实时抓取X平台热点
数据挖掘·数据分析
Name_NaN_None2 小时前
平板当电脑显示器(副屏):镜像+扩展 ——「小白教程」
网络·计算机外设·电脑
育种数据分析之放飞自我2 小时前
国家区试试验方差分析、多重比较与变异系数计算
网络
Mr.45672 小时前
JDK17+Druid+SpringBoot3+ShardingSphere5 多表分库分表完整实践(MySQL+PostgreSQL)
java·数据库·spring boot·mysql·postgresql
Yana.nice3 小时前
Ansible 常用模块
网络·python·ansible
EasyCVR3 小时前
国标GB28181/RTSP/ONVIF/RTMP视频监控平台EasyCVR视频质量诊断花屏/蓝屏/画面模糊/冻结检测
网络·数据库·音视频