核心功能与用法
本技能提供 PlanetScale CLI (pscale) 的完整命令参考与自动化工作流,专注于数据库分支(Branch)、部署请求(Deploy Request)和 Schema 迁移等核心操作。主要能力包括:
- 认证管理:支持交互式登录(
pscale auth login)或服务令牌(Service Token)CI/CD 认证 - 分支工作流:创建/删除/比对分支、从 main 分支衍生开发环境
- 部署请求:创建、审查、执行和回滚 Schema 变更,替代直接
promote的安全方案 - SQL 查询:非交互式 JSON 格式查询,适合自动化脚本
- 辅助功能:备份管理、密码生成、组织切换、服务令牌轮换
显著优点
1. 官方原生工具:直接对接 PlanetScale API,功能覆盖完整
2. Git 式工作流:分支 → 开发 → Diff → PR → 部署的熟悉模式
3. 安全设计:强制 Deploy Request 流程避免直接生产环境变更;服务令牌支持 CI/CD 场景
4. 自动化脚本:内置 create-branch-for-mr.sh、deploy-schema-change.sh 等脚本,节省 90% Token
5. 多输出格式:JSON/YAML/Table 支持,便于脚本解析
潜在局限
- 平台绑定:仅支持 PlanetScale 托管 MySQL,无法用于其他数据库
- macOS 兼容性:部分脚本依赖 PCRE grep(
grep -oP),BSD 系统需调整 - 非交互限制:
pscale sql仅支持非交互模式,复杂查询需借助pscale shell - 网络依赖:所有操作需连接 PlanetScale 服务,无法离线使用
适合人群
- 使用 PlanetScale 的开发和运维团队
- 需要 GitOps 风格数据库变更管理的组织
- 寻求 MySQL 分支工作流替代传统迁移方案的团队
常规风险
- 凭证泄露:
PLANETSCALE_SERVICE_TOKEN需妥善保管,避免硬编码到仓库 - 误操作风险:
branch promote可直接推送到生产,建议禁用或使用 Deploy Request 流程 - Schema 冲突:多分支并行开发可能产生合并冲突,需定期同步 main 分支
安全评估
本技能通过离散参数传递调用 pscale,无 eval 或动态代码执行。认证信息仅通过环境变量传递,不做持久化存储。脚本经 Shell 直接执行,符合最小权限原则。