PlanetScale CLI 工具 #

本章将全面介绍 PlanetScale CLI (pscale) 命令行工具,帮助你高效管理数据库。

安装与配置 #

安装 CLI #

bash
# macOS (Homebrew)
brew install planetscale/tap/pscale

# macOS (升级)
brew upgrade planetscale/tap/pscale

# Windows (Scoop)
scoop bucket add planetscale https://github.com/planetscale/scoop-bucket.git
scoop install pscale

# Windows (Chocolatey)
choco install pscale

# Linux
curl -fsSL https://raw.githubusercontent.com/planetscale/cli/main/install.sh | bash

# 从源码安装
go install github.com/planetscale/cli/cmd/pscale@latest

验证安装 #

bash
pscale version
# pscale version 0.200.0 (build date: 2024-01-15T12:00:00Z)

pscale --help
# pscale is a command-line interface for PlanetScale.
# 
# Usage:
#   pscale [command]
# 
# Available Commands:
#   auth        Login and logout via the PlanetScale API
#   branch      Create, delete, and manage branches
#   database    Create, delete, and manage databases
#   ...

登录认证 #

bash
# 交互式登录
pscale auth login

# 输出示例
# Please visit the following URL in your browser:
# https://auth.planetscale.com/oauth/device?code=XXXX-XXXX
# 
# Waiting for verification...
# Successfully logged in!

# 查看登录状态
pscale auth whoami

# 登出
pscale auth logout

服务令牌认证 #

bash
# 使用服务令牌登录
pscale auth login --service-token pscale_tok_xxx

# 或设置环境变量
export PLANETSCALE_SERVICE_TOKEN=pscale_tok_xxx

数据库命令 #

创建数据库 #

bash
# 基本创建
pscale database create my-database

# 指定区域
pscale database create my-database --region us-east-1

# 指定组织
pscale database create my-database --org my-org

# 查看创建状态
pscale database show my-database

查看数据库 #

bash
# 列出所有数据库
pscale database list

# 列出特定组织的数据库
pscale database list --org my-org

# 查看数据库详情
pscale database show my-database

# 输出示例
# NAME           REGION      STATE    STORAGE    BRANCHES
# my-database    us-east-1   ready    1.2 GB     3

删除数据库 #

bash
# 删除数据库(需要确认)
pscale database delete my-database

# 强制删除(跳过确认)
pscale database delete my-database --force

分支命令 #

创建分支 #

bash
# 基本创建
pscale branch create my-database develop

# 从指定分支创建
pscale branch create my-database feature-x --from main

# 指定区域
pscale branch create my-database develop --region us-east-1

# 查看创建状态
pscale branch show my-database develop

查看分支 #

bash
# 列出所有分支
pscale branch list my-database

# 输出示例
# NAME           PARENT    READY    CREATED AT
# main           -         true     2024-01-10 10:00:00
# develop        main      true     2024-01-15 12:00:00
# feature-x      main      true     2024-01-16 09:00:00

# 查看分支详情
pscale branch show my-database develop

# 查看分支 Schema
pscale branch schema my-database develop

# 对比两个分支
pscale branch diff my-database develop main

删除分支 #

bash
# 删除分支
pscale branch delete my-database develop

# 强制删除
pscale branch delete my-database develop --force

连接命令 #

Shell 连接 #

bash
# 连接到数据库
pscale shell my-database main

# 连接到特定分支
pscale shell my-database develop

# 执行单条命令
pscale shell my-database main -e "SELECT * FROM users LIMIT 10"

# 从文件执行
pscale shell my-database main < schema.sql

代理连接 #

bash
# 启动代理
pscale connect my-database main

# 输出示例
# Ready! Connect to my-database at 127.0.0.1:3306

# 指定端口
pscale connect my-database main --port 3307

# 指定地址
pscale connect my-database main --host 127.0.0.1 --port 3306

密码命令 #

创建密码 #

bash
# 基本创建
pscale password create my-database main my-app

# 指定角色
pscale password create my-database main my-app --role writer

# 创建只读密码
pscale password create my-database main analytics --role reader

# 设置过期时间
pscale password create my-database main temp --ttl 24h

# 输出示例
# Password created successfully!
# Connection string: mysql://abc123:pscale_pw_xxx@aws.connect.psdb.cloud/my-database?sslaccept=strict

管理密码 #

bash
# 列出密码
pscale password list my-database main

# 输出示例
# NAME           ROLE      CREATED AT
# my-app         writer    2024-01-15 12:00:00
# analytics      reader    2024-01-16 09:00:00

# 删除密码
pscale password delete my-database main my-app

Deploy Request 命令 #

创建 Deploy Request #

bash
# 创建 DR
pscale deploy-request create my-database develop

# 输出示例
# Deploy request #3 created successfully.
# View at: https://app.planetscale.com/my-org/my-database/deploy-requests/3

查看 Deploy Request #

bash
# 列出所有 DR
pscale deploy-request list my-database

# 查看 DR 详情
pscale deploy-request show my-database 3

# 查看 Schema 差异
pscale deploy-request diff my-database 3

部署和关闭 #

bash
# 部署 DR
pscale deploy-request deploy my-database 3

# 关闭 DR
pscale deploy-request close my-database 3

# 添加评论
pscale deploy-request review my-database 3 --comment "Looks good!"

组织命令 #

管理组织 #

bash
# 列出组织
pscale org list

# 查看组织详情
pscale org show my-org

# 列出成员
pscale org members list my-org

# 邀请成员
pscale org members add my-org bob@example.com --role developer

# 修改角色
pscale org members update my-org bob@example.com --role admin

# 移除成员
pscale org members remove my-org bob@example.com

数据操作命令 #

数据导出 #

bash
# 导出数据库
pscale database dump my-database main --output ./backup

# 导出特定表
pscale shell my-database main -e "SELECT * FROM users" > users.csv

数据导入 #

bash
# 导入 SQL 文件
pscale shell my-database main < data.sql

# 从备份恢复
pscale database restore-dump my-database main --dir ./backup

高级用法 #

输出格式 #

bash
# JSON 格式
pscale database list --format json

# 表格格式(默认)
pscale database list --format table

# 仅显示名称
pscale database list --format name

调试模式 #

bash
# 启用详细输出
pscale database list --debug

# 启用 API 调用日志
pscale database list --api-log

配置文件 #

bash
# 查看配置
pscale config list

# 设置默认组织
pscale config set organization my-org

# 设置默认区域
pscale config set region us-east-1

命令速查表 #

text
┌─────────────────────────────────────────────────────────────┐
│                    常用命令速查                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   认证:                                                    │
│   pscale auth login              # 登录                    │
│   pscale auth logout             # 登出                    │
│   pscale auth whoami             # 查看当前用户            │
│                                                             │
│   数据库:                                                  │
│   pscale database create <name>  # 创建数据库              │
│   pscale database list           # 列出数据库              │
│   pscale database show <name>    # 查看详情                │
│   pscale database delete <name>  # 删除数据库              │
│                                                             │
│   分支:                                                    │
│   pscale branch create <db> <branch>   # 创建分支          │
│   pscale branch list <db>              # 列出分支          │
│   pscale branch delete <db> <branch>   # 删除分支          │
│                                                             │
│   连接:                                                    │
│   pscale shell <db> <branch>     # Shell 连接              │
│   pscale connect <db> <branch>   # 代理连接                │
│                                                             │
│   密码:                                                    │
│   pscale password create <db> <branch> <name>  # 创建密码  │
│   pscale password list <db> <branch>           # 列出密码  │
│   pscale password delete <db> <branch> <name>  # 删除密码  │
│                                                             │
│   Deploy Request:                                          │
│   pscale deploy-request create <db> <branch>  # 创建 DR    │
│   pscale deploy-request list <db>             # 列出 DR    │
│   pscale deploy-request deploy <db> <number>  # 部署 DR    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

下一步 #

现在你已经掌握了 CLI 工具,接下来学习 Node.js 集成,开始实战开发!

最后更新:2026-03-29