Slide 1

Slide 1 text

Supabase CLIのある開発日常 株式会社Berry 浅沼 敬 2024/8/22 Supabase Tokyo Meetup

Slide 2

Slide 2 text

会社紹介:株式会社Berry 赤ちゃん向けの頭蓋形状矯正ヘルメットを提供する医療機器メーカーです 株式会社Berry https://www.berryinc.co.jp/

Slide 3

Slide 3 text

BerryはSupabaseを採用して3年 Findy Toolsへ導入事例を寄稿したり、テックブログで紹介したりしています Findy Tools Supabase導入事例 https://findy-tools.io/products/supabase/32/117 Berry テックブログ Supabaseでアプリをリリースする前に確認すること https://zenn.dev/berry_blog/articles/cfce64da076878

Slide 4

Slide 4 text

背景・モチベーション Supabaseを使うなら、Supabase CLIも使わないともったいない! Berry入社時は、リモートのSupabaseを共有して開発していた ↓ Supabase CLIを利用:ローカル開発・CIの開発体験が爆上がり

Slide 5

Slide 5 text

Supabase CLI:よく使うコマンド > yarn supabase gen types typescript --local も必須で使う

Slide 6

Slide 6 text

開発の流れ ローカル SupabaseUI Supabase CLI テーブル 追加・編集 db diff テストデータ db dump VSCode 実装・テスト Github Pull Request Github Actions CI db reset

Slide 7

Slide 7 text

デモ https://youtu.be/xYMo_KTpaHU?si=tyH-Qokoh9OfCk OY

Slide 8

Slide 8 text

ローカル & Github Actions の容易さ Supabase CLIの旨味はGithub Actions - Migration & seed.sqlでローカルも Github Actions上も同じ状態にできる - 公式のActionsが用意されているので、 簡単にCIを始めることができる - 環境違いに困ることがない

Slide 9

Slide 9 text

環境による認知負荷を生みにくい ⇒ 開発体験向上 ローカル&Github Actionsとリモートは、すべて同じ環境になる = 環境によって覚えることを変えなくて良い! Supabase CLI migration seed Github Actions Develop ment Supabase migration Staging Production

Slide 10

Slide 10 text

まとめ: 認知負荷と学習コストの軽減は、クラウドの本質的な恩恵でありがたい ・学習コストも低い Docker File, Docker Compose, Kube Manifest, TeraForm… で、開発環境を構築してきた中で、もっとも簡単で快適

Slide 11

Slide 11 text

おまけ:Authを通してRLSをテストする Berry テックブログ VitestをつかってSupabaseのRow Level Security(RLS)の Policyをテストする https://zenn.dev/berry_blog/articles/03beda8c668127

Slide 12

Slide 12 text

Wantedly:株式会社Berry 3D ✕ 医療機器ベンチャーの幹部候補エンジニア募集! https://www.wantedly.com/projects/159442 6