PlanetScale CLI
PlanetScale is more than a database and our CLI is more than a jumble of commands. The pscale
command line tool brings branches, deploy requests, and other PlanetScale concepts to your fingertips.
Installation
macOS
pscale
is available via a Homebrew Tap, and as downloadable binary from the releases page:
brew install planetscale/tap/pscale
Optional: pscale
requires the MySQL Client for certain commands. You can install it by running:
brew install mysql-client
To upgrade to the latest version:
brew upgrade pscale
Linux
pscale
is available as downloadable binaries from the releases page. Download the .deb or .rpm from the releases page and install with sudo dpkg -i
and sudo rpm -i
respectively.
Windows
pscale
is available via scoop, and as a downloadable binary from the releases page:
scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git
scoop install pscale mysql
To upgrade to the latest version:
scoop update pscale
Manually
Download the pre-compiled binaries from the releases page and copy to the desired location.
Alternatively, you can install bin which works on all macOS
, Windows
, and Linux
platforms:
bin install https://github.com/planetscale/cli
To upgrade to the latest version
bin upgrade pscale
Container images
We provide ready to use Docker container images. To pull the latest image:
docker pull planetscale/pscale:latest
To pull a specific version:
docker pull planetscale/pscale:v0.63.0
If you like to have a shell alias that runs the latest version of pscale from docker whenever you type pscale
:
mkdir -p $HOME/.config/planetscale
alias pscale="docker run -e HOME=/tmp -v $HOME/.config/planetscale:/tmp/.config/planetscale --user $(id -u):$(id -g) --rm -it -p 3306:3306/tcp planetscale/pscale:latest"
If you need a more advanced example that works with service tokens and differentiates between commands that need a pseudo terminal or non-interactive mode, have a look at this shell function.
GitHub Actions Usage
Use the setup-pscale-action to install and use pscale
in GitHub Actions.
- name: Setup pscale
uses: planetscale/setup-pscale-action@v1
- name: Use pscale
env:
PLANETSCALE_SERVICE_TOKEN_ID: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_ID }}
PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }}
run: |
pscale deploy-request list my-db --org my-org
Local Development
To run a command:
go run cmd/pscale/main.go <command>
Alternatively, you can build pscale
:
go build cmd/pscale/main.go
And then use the pscale
binary built in cmd/pscale/
for testing:
./cmd/pscale/pscale <command>
Documentation
Please checkout our Documentation page: planetscale.com/docs