Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/supabase/cli
Supabase CLI. Manage postgres migrations, run Supabase locally, deploy edge functions. Postgres backups. Generating types from your database schema.
https://github.com/supabase/cli
cli database database-management dbms environment local postgres postgresql supabase
Last synced: 2 days ago
JSON representation
Supabase CLI. Manage postgres migrations, run Supabase locally, deploy edge functions. Postgres backups. Generating types from your database schema.
- Host: GitHub
- URL: https://github.com/supabase/cli
- Owner: supabase
- License: mit
- Created: 2020-11-19T06:46:55.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-11-25T07:56:53.000Z (17 days ago)
- Last Synced: 2024-11-25T08:45:11.273Z (17 days ago)
- Topics: cli, database, database-management, dbms, environment, local, postgres, postgresql, supabase
- Language: Go
- Homepage: https://supabase.com/docs/reference/cli/about
- Size: 19.7 MB
- Stars: 1,086
- Watchers: 29
- Forks: 212
- Open Issues: 102
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- jimsghstars - supabase/cli - Supabase CLI. Manage postgres migrations, run Supabase locally, deploy edge functions. Postgres backups. Generating types from your database schema. (Go)
README
# Supabase CLI (v1)
[![Coverage Status](https://coveralls.io/repos/github/supabase/cli/badge.svg?branch=main)](https://coveralls.io/github/supabase/cli?branch=main) [![Bitbucket Pipelines](https://img.shields.io/bitbucket/pipelines/supabase-cli/setup-cli/master?style=flat-square&label=Bitbucket%20Canary)](https://bitbucket.org/supabase-cli/setup-cli/pipelines) [![Gitlab Pipeline Status](https://img.shields.io/gitlab/pipeline-status/sweatybridge%2Fsetup-cli?label=Gitlab%20Canary)
](https://gitlab.com/sweatybridge/setup-cli/-/pipelines)[Supabase](https://supabase.io) is an open source Firebase alternative. We're building the features of Firebase using enterprise-grade open source tools.
This repository contains all the functionality for Supabase CLI.
- [x] Running Supabase locally
- [x] Managing database migrations
- [x] Creating and deploying Supabase Functions
- [x] Generating types directly from your database schema
- [x] Making authenticated HTTP requests to [Management API](https://supabase.com/docs/reference/api/introduction)## Getting started
### Install the CLI
Available via [NPM](https://www.npmjs.com) as dev dependency. To install:
```bash
npm i supabase --save-dev
```To install the beta release channel:
```bash
npm i supabase@beta --save-dev
```When installing with yarn 4, you need to disable experimental fetch with the following nodejs config.
```
NODE_OPTIONS=--no-experimental-fetch yarn add supabase
```> **Note**
For Bun versions below v1.0.17, you must add `supabase` as a [trusted dependency](https://bun.sh/guides/install/trusted) before running `bun add -D supabase`.macOS
Available via [Homebrew](https://brew.sh). To install:
```sh
brew install supabase/tap/supabase
```To install the beta release channel:
```sh
brew install supabase/tap/supabase-beta
brew link --overwrite supabase-beta
```
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`/`.pkg.tar.zst` file depending on your package manager and run the respective commands.
```sh
sudo apk add --allow-untrusted <...>.apk
``````sh
sudo dpkg -i <...>.deb
``````sh
sudo rpm -i <...>.rpm
``````sh
sudo pacman -U <...>.pkg.tar.zst
```Other Platforms
You can also install the CLI via [go modules](https://go.dev/ref/mod#go-install) without the help of package managers.
```sh
go install github.com/supabase/cli@latest
```Add a symlink to the binary in `$PATH` for easier access:
```sh
ln -s "$(go env GOPATH)/bin/cli" /usr/bin/supabase
```This works on other non-standard Linux distros.
Community Maintained Packages
Available via [pkgx](https://pkgx.sh/). Package script [here](https://github.com/pkgxdev/pantry/blob/main/projects/supabase.com/cli/package.yml).
To install in your working directory:```bash
pkgx install supabase
```Available via [Nixpkgs](https://nixos.org/). Package script [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/supabase-cli/default.nix).
### Run the CLI
```bash
supabase bootstrap
```Or using npx:
```bash
npx supabase bootstrap
```The bootstrap command will guide you through the process of setting up a Supabase project using one of the [starter](https://github.com/supabase-community/supabase-samples/blob/main/samples.json) templates.
## Docs
Command & config reference can be found [here](https://supabase.com/docs/reference/cli/about).
## Breaking changes
We follow semantic versioning for changes that directly impact CLI commands, flags, and configurations.
However, due to dependencies on other service images, we cannot guarantee that schema migrations, seed.sql, and generated types will always work for the same CLI major version. If you need such guarantees, we encourage you to pin a specific version of CLI in package.json.
## Developing
To run from source:
```sh
# Go >= 1.22
go run . help
```