Shield CLI 的 PostgreSQL 插件 v0.5.0 发布:数据库导出 + 协作增强,ER 图全新体验

昨天发布了 PostgreSQL 插件 v0.4.0,带来了交互式 ER 图和多人协作功能。Shield CLI v0.5.0 继续升级,解决两个核心问题:数据库导出更流畅的协作体验


数据库导出:结构与数据,一键搞定

v0.5.0 新增了可视化导出功能,支持两种模式

1. 仅导出结构
  • 导出表结构、索引、约束、触发器等
  • 不包含数据,文件体积小,适合版本控制
  • 支持导出为 SQL 文件,可直接在其他环境执行
2. 结构与数据一起导出
  • 同时导出结构和数据
  • 支持选择特定表的数据导出
  • 提供数据量估算,避免导出过大文件
  • 自动处理外键依赖,确保数据完整性

操作方式

在 Web 界面中:

  1. 连接到 PostgreSQL 数据库
  2. 点击左侧 Schema 旁的「导出」按钮
  3. 选择导出模式(结构 / 结构+数据)
  4. (可选)选择要导出的表
  5. 点击「开始导出」,自动下载 SQL 文件

协作增强:主持人模式,同步更智能

传统痛点

  • 团队讨论时,每个人的 ER 图画布状态不同,难以保持同步
  • 讲解人需要不断提醒其他人调整视图,影响沟通效率
  • 远程协作时,网络延迟导致操作不同步

PostgreSQL 插件 v0.5.0 协作功能示例

Shield CLI 解决方案

v0.5.0 升级了协作功能,新增「主持人模式」:

1. 主持人模式
  • 开启后,其他参与者的画布会自动跟随主持人的操作
  • 主持人移动、缩放画布时,所有人的视图实时同步
  • 主持人点击某张表,其他人的视图会自动聚焦到该表
  • 支持随时切换主持人,灵活适应不同场景
2. 智能同步
  • 优化了 WebSocket 通信,减少网络延迟
  • 支持部分同步,只传输必要的操作数据
  • 断线重连后自动恢复同步状态
  • 低带宽环境下依然保持流畅体验

使用方式

  1. 多人打开同一个数据库的 ER 图
  2. 点击顶部「协作」按钮,选择「开启主持人模式」
  3. 选择主持人(默认为发起者)
  4. 主持人操作画布时,其他人的视图会自动同步
  5. 如需退出主持人模式,再次点击「协作」按钮关闭

其他改进

性能优化

  • ER 图渲染速度提升 30%,支持更大规模的数据库
  • 导出功能采用流式处理,支持导出大型数据库
  • 协作功能的内存占用降低 50%,支持更多人同时在线

界面优化

  • 导出功能集成到 Schema 管理界面,操作更直观
  • ER 图画布新增网格背景,对齐更方便
  • 协作状态实时显示,包括在线人数和当前主持人

兼容性

  • 支持 PostgreSQL 10+ 版本
  • 与 Shield CLI v0.3.3+ 完全兼容
  • 保持轻量级设计,启动时间不到 1 秒

升级方式

bash 复制代码
# 升级插件
f1@F1s-MacBook-Pro ~ % shield plugin upgrade postgres
  Checking for updates: postgres...

  ✓ Upgraded postgres: v0.3.7 → v0.5.0

# 验证版本
f1@F1s-MacBook-Pro ~ % shield plugin list            
  NAME      VERSION  PROTOCOLS                 INSTALLED
  mysql     v0.3.7   mysql, mariadb            2026-03-27T15:30:50+08:00
  postgres  v0.5.0   postgres, pg, postgresql  2026-03-27T18:06:45+08:00

Docker 用户:

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

实际应用场景

场景一:团队数据库设计评审

  1. 架构师开启主持人模式
  2. 团队成员通过浏览器加入
  3. 架构师在 ER 图上讲解表关系,所有人视图自动同步
  4. 讨论结束后,一键导出结构文件,提交到版本控制系统

场景二:数据库导出

  1. 连接源数据库
  2. 导出结构和必要的数据

场景三:远程协作排查问题

  1. 运维人员连接生产数据库(只读模式)
  2. 开启协作,邀请开发人员加入
  3. 运维人员作为主持人,引导开发人员查看相关表结构
  4. 实时讨论问题原因,快速定位解决方案

接下来

  • MySQL 插件的导出和协作增强功能正在开发中
  • 计划支持更多数据库类型的导出功能
  • 考虑添加导入功能,实现数据库间的快速迁移
  • 计划新增「激光笔」功能,主持人可以在画布上标记重点
  • 计划支持实时评论,团队成员可以在特定表或关系上添加评论
  • 计划新增操作历史记录,可查看谁在何时做了什么修改

试一下

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

# 连接数据库,体验新功能
shield postgres 127.0.0.1:5432 --db-user postgres

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

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

有问题或建议欢迎提 Issue


如果你觉得这篇文章有用,欢迎点赞、收藏并分享给更多朋友!

相关推荐
weixin199701080162 小时前
《深入浅出:图解淘宝分布式数据库TDDL(及开源替代方案)》
数据库·分布式·开源
song8546011342 小时前
为啥windows中使用docker部署需要启动 Docker Desktop
windows·docker·容器
数据库小组2 小时前
Oracle 上云 / 替代场景下,NineData 完成到 PostgreSQL 的低风险迁移
大数据·数据库·mysql·postgresql·oracle·数据一致性·数据库迁移
天启HTTP2 小时前
多线程环境下,动态IP怎么分配最合理
java·服务器·网络
cyber_两只龙宝2 小时前
【Docker】搭建企业级私有harbor仓库全流程详解
linux·运维·docker·云原生·容器
Ricky_Theseus2 小时前
SQL Server 2008 四种排序函数
数据库
我就是你毛毛哥2 小时前
Docker 安装 GitLab
docker·容器·gitlab
serve the people2 小时前
ACME 协议流程与AllinSSL 的关系(三)
服务器·网络·https
柚子+2 小时前
Appium+python+雷电模拟器自动化测试入门
数据库·python·appium