mirror of
https://github.com/supabase/supabase.git
synced 2026-10-07 10:25:06 +03:00
385 lines
9.3 KiB
YAML
385 lines
9.3 KiB
YAML
openref: 0.1
|
|
|
|
info:
|
|
id: reference/cli
|
|
title: About
|
|
description: |
|
|
The Supabase CLI can be found in our [CLI](https://github.com/supabase/cli) repository.
|
|
|
|
- [x] Running Supabase locally
|
|
- [x] Managing database migrations
|
|
- [x] Pushing your local changes to production
|
|
- [ ] Manage your Supabase Account
|
|
- [ ] Manage your Supabase Projects
|
|
- [ ] Generating types directly from your database schema
|
|
- [ ] Generating API and validation schemas from your database
|
|
|
|
## Getting started
|
|
|
|
```bash
|
|
supabase help
|
|
```
|
|
|
|
Follow the [Local Development guide](/docs/guides/local-development) for a quick overview of the CLI functionality.
|
|
|
|
## Installing the CLI
|
|
|
|
### macOS
|
|
|
|
Available via [Homebrew](https://brew.sh). To install:
|
|
|
|
```sh
|
|
brew install supabase/tap/supabase
|
|
```
|
|
|
|
To upgrade:
|
|
|
|
```sh
|
|
brew upgrade supabase
|
|
```
|
|
|
|
### Windows
|
|
|
|
Available via [Scoop](https://scoop.sh). To install:
|
|
|
|
```powershell
|
|
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
|
|
scoop install supabase
|
|
```
|
|
|
|
To upgrade:
|
|
|
|
```powershell
|
|
scoop update supabase
|
|
```
|
|
|
|
### Linux
|
|
|
|
Available via [Homebrew](https://brew.sh) and Linux packages.
|
|
|
|
#### via Homebrew
|
|
|
|
To install:
|
|
|
|
```sh
|
|
brew install supabase/tap/supabase
|
|
```
|
|
|
|
To upgrade:
|
|
|
|
```sh
|
|
brew upgrade supabase
|
|
```
|
|
|
|
#### via Linux packages
|
|
|
|
Linux packages are provided in [Releases](https://github.com/supabase/cli/releases).
|
|
To install, download the `.apk`/`.deb`/`.rpm` file depending on your package manager
|
|
and run `sudo apk add --allow-untrusted <...>.apk`/`sudo dpkg -i <...>.deb`/`sudo rpm -i <...>.rpm` respectively.
|
|
|
|
## Support
|
|
|
|
Report issues to our [issue tracker](https://github.com/supabase/cli/issues).
|
|
|
|
definition: spec/combined.json
|
|
libraries:
|
|
- name: 'sh'
|
|
id: 'sh'
|
|
version: '0.0.1'
|
|
docs:
|
|
path: reference/cli/
|
|
sidebar:
|
|
- name: 'About'
|
|
items:
|
|
- index
|
|
- name: 'Command reference'
|
|
items:
|
|
- supabase help
|
|
- supabase init
|
|
- supabase start
|
|
- supabase db branch list
|
|
- supabase db branch create
|
|
- supabase db branch delete
|
|
- supabase db switch
|
|
- supabase db changes
|
|
- supabase db commit
|
|
- supabase db reset
|
|
- supabase db remote set
|
|
- supabase db remote commit
|
|
- supabase db push
|
|
- supabase migration new
|
|
- name: 'Config reference'
|
|
items:
|
|
- Config reference
|
|
|
|
pages:
|
|
supabase help:
|
|
description: |
|
|
Help provides help for any command in the application.
|
|
Simply type supabase help `[path to command]` for full details.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase help [command]
|
|
```
|
|
|
|
supabase init:
|
|
description: |
|
|
Initialize a project to use Supabase CLI.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase init
|
|
```
|
|
|
|
supabase start:
|
|
description: |
|
|
Start the Supabase local development setup.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase start
|
|
```
|
|
|
|
supabase db branch list:
|
|
description: |
|
|
List branches.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db branch list
|
|
```
|
|
|
|
supabase db branch create:
|
|
description: |
|
|
Create a branch.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db branch create <branch name>
|
|
```
|
|
|
|
supabase db branch delete:
|
|
description: |
|
|
Delete a branch.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db branch delete <branch name>
|
|
```
|
|
|
|
supabase db switch:
|
|
description: |
|
|
Switch branches.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db switch <branch name>
|
|
```
|
|
|
|
supabase db changes:
|
|
description: |
|
|
Diffs the local database with current migrations, then print the diff to standard output.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db changes
|
|
```
|
|
|
|
supabase db commit:
|
|
description: |
|
|
Diffs the local database with current migrations, writing it as a new migration.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db commit <migration name>
|
|
```
|
|
|
|
supabase db reset:
|
|
description: |
|
|
Resets the local database to reflect current migrations. Any changes on the local database that is not committed will be lost.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db reset
|
|
```
|
|
|
|
supabase db remote set:
|
|
description: |
|
|
Set the remote database to push migrations to.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db remote set <remote database connection url>
|
|
```
|
|
- name: Connection string format
|
|
sh: |
|
|
```sh
|
|
supabase db remote set postgresql://postgres:[YOUR-PASSWORD]@db.azeazeiqsdiqswdsqdxc.supabase.co:5432/postgres
|
|
```
|
|
|
|
supabase db remote commit:
|
|
description: |
|
|
Commit changes on the remote database since the last pushed migration.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db remote commit
|
|
```
|
|
|
|
supabase db push:
|
|
description: |
|
|
Push new migrations to the remote database.
|
|
|
|
Flags:
|
|
|
|
`--dry-run`: Print the migrations that would be applied, but don't actually apply them.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase db push [--dry-run]
|
|
```
|
|
|
|
supabase migration new:
|
|
description: |
|
|
Create an empty migration.
|
|
examples:
|
|
- name: Usage
|
|
sh: |
|
|
```sh
|
|
supabase migration new <migration name>
|
|
```
|
|
|
|
Config reference:
|
|
description: |
|
|
The config file resides in `supabase/config.toml` after you run `supabase init`.
|
|
|
|
### `project_id`
|
|
|
|
`required`
|
|
|
|
A string used to distinguish different Supabase projects on the same host. Defaults to the working directory name when running `supabase init`.
|
|
|
|
### `api.port`
|
|
|
|
`required`, `default: 54321`
|
|
|
|
Port to use for the API URL.
|
|
|
|
### `api.schemas`
|
|
|
|
`required`, `default: []`
|
|
|
|
Schemas to expose in your API. Tables, views and stored procedures in this schema will get API endpoints. `public` and `storage` are always included.
|
|
|
|
### `api.extra_search_path`
|
|
|
|
`required`, `default: ["extensions"]`
|
|
|
|
Extra schemas to add to the search_path of every request.
|
|
|
|
### `api.max_rows`
|
|
|
|
`required`, `default: 1000`
|
|
|
|
The maximum number of rows returned from a view, table, or stored procedure. Limits payload size for accidental or malicious requests.
|
|
|
|
### `db.port`
|
|
|
|
`required`, `default: 54322`
|
|
|
|
Port to use for the local database URL.
|
|
|
|
### `db.major_version`
|
|
|
|
`required`, `default: 14`
|
|
|
|
The database major version to use. This has to be the same as your remote database's. Run `SHOW server_version;` on the remote database to check.
|
|
|
|
### `studio.port`
|
|
|
|
`required`, `default: 54323`
|
|
|
|
Port to use for Supabase Studio.
|
|
|
|
### `inbucket.port`
|
|
|
|
`required`, `default: 54324`
|
|
|
|
Port to use for the email testing server web interface.
|
|
|
|
Emails sent with the local dev setup are not actually sent - rather, they are monitored, and you can view the emails that would have been sent from the web interface.
|
|
|
|
### `auth.site_url`
|
|
|
|
`required`, `default: "http://localhost:3000"`
|
|
|
|
The base URL of your website. Used as an allow-list for redirects and for constructing URLs used in emails.
|
|
|
|
### `auth.additional_redirect_urls`
|
|
|
|
`required`, `default: ["https://localhost:3000"]`
|
|
|
|
A list of *exact* URLs that auth providers are permitted to redirect to post authentication.
|
|
|
|
### `auth.jwt_expiry`
|
|
|
|
`required`, `default: 3600`
|
|
|
|
How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week).
|
|
|
|
### `auth.enable_signup`
|
|
|
|
`required`, `default: true`
|
|
|
|
Allow/disallow new user signups to your project.
|
|
|
|
### `auth.email.enable_signup`
|
|
|
|
`required`, `default: true`
|
|
|
|
Allow/disallow new user signups via email to your project.
|
|
|
|
### `auth.email.double_confirm_changes`
|
|
|
|
`required`, `default: true`
|
|
|
|
If enabled, a user will be required to confirm any email change on both the old, and new email addresses. If disabled, only the new email is required to confirm.
|
|
|
|
### `auth.email.enable_confirmations`
|
|
|
|
`required`, `default: true`
|
|
|
|
If enabled, users need to confirm their email address before signing in.
|
|
|
|
### `auth.external.<provider>.enabled`
|
|
|
|
`required`, `default: false`
|
|
|
|
Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, `discord`, `facebook`, `github`, `gitlab`, `google`, `twitch`, `twitter`, `slack`, `spotify`.
|
|
|
|
### `auth.external.<provider>.client_id`
|
|
|
|
`required`, `default: ""`
|
|
|
|
Client ID for the external OAuth provider.
|
|
|
|
### `auth.external.<provider>.secret`
|
|
|
|
`required`, `default: ""`
|
|
|
|
Client secret for the external OAuth provider.
|