最近Supabaseを触っているので、備忘録としてローカルにSupabase環境を作るところを書いてみます。
認証認可についてはスルーします。
インストール
まずはSupabase CLIのインストール。
brew install supabase/tap/supabase
初期化
適当なディレクトリで初期化する。
mkdir supabase_sample
supabase init
初期化するとsupabaseディレクトリが作成されます。
この中にsupabaseの設定ファイルが置かれていたり、migration・functionファイルを作っていったりします。
立ち上げ & 停止
supabase start
supabase stop
Dockerコンテナが色々と立ち上がり、以下のように各サービスのURL等が表示されます。
テーブル作成
マイグレーションファイルの作成
supabase migration new create_tasks_table
./supabase/migrations/xxxxxxxxxxx_create_tasks_table.sql
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
name TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);
ローカルDBにマイグレーションを適用
supabase migration up --local
REST API
立ち上げ時に表示されたStudio URLからSupabaseのダッシュボードを開いてテスト用のデータを追加しておきます。
各テーブルに対応したAPIをSupabaseが用意してくれています。
こちらも立ち上げ時にAPI URLが表示されているので叩いてみます。
REST APIのパスは/rest/v1/{テーブル名}
となります。
GET
curl 'http://127.0.0.1:54321/rest/v1/tasks'
POST
curl -X POST 'http://127.0.0.1:54321/rest/v1/tasks' \
-H "Content-Type: application/json" \
-d '{"name": "sample_2"}'
終わり
ひとまず開発が始められそうなところまで!