1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mofmofAdvent Calendar 2024

Day 9

Supabase CLIを使ってローカルに環境を作る

Posted at

最近Supabaseを触っているので、備忘録としてローカルにSupabase環境を作るところを書いてみます。
認証認可についてはスルーします。

インストール

まずはSupabase CLIのインストール。

brew install supabase/tap/supabase

初期化

適当なディレクトリで初期化する。

mkdir supabase_sample
supabase init

初期化するとsupabaseディレクトリが作成されます。
この中にsupabaseの設定ファイルが置かれていたり、migration・functionファイルを作っていったりします。

立ち上げ & 停止

supabase start
supabase stop

Dockerコンテナが色々と立ち上がり、以下のように各サービスのURL等が表示されます。
スクリーンショット 2024-12-21 12.21.06.png

テーブル作成

マイグレーションファイルの作成

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のダッシュボードを開いてテスト用のデータを追加しておきます。
スクリーンショット 2024-12-21 12.27.02.png

各テーブルに対応したAPIをSupabaseが用意してくれています。
こちらも立ち上げ時にAPI URLが表示されているので叩いてみます。
REST APIのパスは/rest/v1/{テーブル名}となります。

GET

curl 'http://127.0.0.1:54321/rest/v1/tasks'

スクリーンショット 2024-12-21 12.28.04.png

POST

curl -X POST 'http://127.0.0.1:54321/rest/v1/tasks' \
-H "Content-Type: application/json" \
-d '{"name": "sample_2"}'

スクリーンショット 2024-12-21 12.31.07.png

終わり

ひとまず開発が始められそうなところまで!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?