Planetscale Cli Skills

🪐 PlanetScale CLI 数据库自动化专家

PlanetScale官方CLI命令参考与数据库自动化工作流,支持分支管理、Schema迁移、Deploy Request、D1导入及CI/CD集成

收藏
3.9k
安装
1.5k
版本
1.0.6
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

PlanetScale CLI Skills 是面向开发者与DevOps团队的终端数据库管理工具集合,提供完整的 pscale 命令参考与自动化脚本。核心功能覆盖九大子技能:认证管理(auth)、分支操作(branch)、部署请求(deploy-request)、数据库管理(database)、非交互式SQL查询(sql)、Cloudflare D1导入(import d1)、备份管理(backup)、连接密码(password)及服务令牌(service-token)。

典型工作流
1. Schema迁移流程:创建开发分支 → 执行Schema变更 → 查看分支差异 → 创建Deploy Request → 审核并部署到生产

2. CI/CD集成:通过Service Token实现无交互认证,支持GitHub Actions/GitLab CI等流水线自动部署

3. D1迁移:提供lint检查、dry-run验证、正式导入及verify校验的完整迁移路径

自动化脚本create-branch-for-mr.sh(MR/PR分支自动创建)、deploy-schema-change.sh(完整迁移工作流)、sync-branch-with-main.sh(主分支同步)

显著优点

  • 官方工具生态:直接对接PlanetScale平台原生能力,分支即环境、Deploy Request即代码评审的数据库工作流
  • 安全设计:Service Token支持CI/CD场景,避免密码硬编码;Token仅通过环境变量传递,skill不存储凭证
  • 自动化友好:非交互式SQL查询(pscale sql --format json)和D1导入专为脚本/Agent场景设计
  • 决策树引导:内置分支vs部署请求、Service Token vs密码等决策逻辑,降低使用门槛

潜在缺点与局限

  • 平台锁定:深度绑定PlanetScale特定概念(分支、Deploy Request),迁移成本较高
  • 依赖外部CLI:必须本地安装pscale二进制,且需完成pscale auth login认证
  • 脚本兼容性:部分grep脚本依赖PCRE(grep -oP),BSD/macOS系统可能需要调整
  • 功能边界:明确限定为非交互式SQL查询,复杂会话式操作需手动执行

适合人群

  • 使用PlanetScale托管MySQL/Postgres的Full-stack开发者
  • 需要数据库分支工作流配合Git工作流的团队
  • 寻求D1到PlanetScale迁移方案的Cloudflare用户
  • 构建数据库Schema自动化CI/CD的DevOps工程师

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 误操作生产分支 | `pscale branch promote`直接提升分支无审核窗口 | 强制使用Deploy Request工作流 |
| 凭证泄露 | Service Token若写入日志或配置库 | 仅通过环境变量注入,避免代码提交 |
| Schema冲突 | 多人同时修改同分支Schema | 遵循分支-per-特性工作流,及时创建Deploy Request |
| D1导入数据丢失 | SQLite到Postgres类型转换不可逆 | 严格执行lint+dry-run+verify三步验证 |

Planetscale Cli Skills 内容

pscale-auth文件夹
references文件夹
pscale-backup文件夹
references文件夹
pscale-branch文件夹
references文件夹
pscale-database文件夹
references文件夹
pscale-deploy-request文件夹
references文件夹
pscale-import-d1文件夹
references文件夹
pscale-org文件夹
references文件夹
pscale-password文件夹
references文件夹
pscale-service-token文件夹
references文件夹
pscale-sql文件夹
references文件夹
scripts文件夹
手动下载zip · 40.4 kB
commands.mdtext/markdown
请选择文件