トップ / 応用の紹介
データベース(Supabase)
これは読むだけのページです何ができるようになるか
- ユーザー情報や投稿などのデータを、アプリの外に保存できるようになる
- ログイン機能(アカウント登録・サインイン)が作れるようになる
- アプリを作り直しても、データはそのまま残せるようになる
ユーザー
アプリを使う人
アプリ
画面と処理(6章で公開したもの)
データベース
データの保管庫(Supabaseなど)
ログインや投稿の保存機能は、この3者の関係で動いています。
どう繋がるのか
Phase 6で公開したアプリは、ページを表示するだけです。誰かが書き込んだ内容を、覚えておく場所がありません。その「記憶」を担当するのがデータベースです。
Supabaseは、データベースを1つ、管理画面ごと貸してくれるサービスです。ログイン機能(認証)も同じ場所に付いてきます。
そして接続に使うURLとAPIキーは、環境変数で渡します。ローカルでは .env.local に、本番ではVercelの画面に登録する。6-3で学んだ「置き場所は2つ」が、ここでそのまま実戦になります。5-6の「キーをGitHubに上げない」も、ここで守りとして効きます。
実際にやるとどんな感じか
アプリのコードからは、数行でデータを出し入れできます。
const { data } = await supabase
.from("posts")
.select("*");
「posts という表から、全部の行を取り出す」と読めます。この程度の読み方が分かれば、あとの実装はClaudeに任せられます。
**⚠️ 1つだけ、先に知っておいてください。RLS(Row Level Security)という設定を飛ばすと、全データが誰でも読み書きできる状態で公開されます。**個人情報の流出事故として、実際に繰り返し起きています。Supabaseを使う日が来たら、テーブルを作るより先に「RLSとは何か」をClaudeに聞いてください。
始めるなら
アカウント作成から最初のテーブルまでは、Claudeに画面を説明しながら聞くと迷いません。「SupabaseをNext.jsから使いたい。何から始めればいい?」で十分通じます。
📖 出てきた言葉
データベースdatabase / データベース
データを整理して保存し、あとから検索・更新できるようにした保管庫。アプリ本体とは別に存在する。 アプリは作り直しても、データベースが無事ならデータは残る。「記憶」を分離しておく安心がこれ。
RLSRow Level Security / アールエルエス
データの行ごとに「誰が読めるか・書けるか」を決めるSupabaseの安全装置。 これを飛ばすと全データが公開状態になる。Supabaseを触る日の最優先事項。