トップ / 応用の紹介
データベース(Supabase)
これは読むだけのページです何ができるようになるか
- ユーザー情報や投稿などのデータを、アプリの外に保存できるようになる
- ログイン機能(アカウント登録・サインイン)が作れるようになる
- アプリを作り直しても、データはそのまま残せるようになる
ユーザー
アプリを使う人
アプリ
画面と処理(6章で公開したもの)
データベース
データの保管庫(Supabaseなど)
ログインや投稿の保存機能は、この3者の関係で動いています。
どう繋がるのか
公開したページは、決まった内容を表示するだけです。誰かが書き込んだ内容を、覚えておく場所がありません。その「記憶」を担当するのがデータベースです。
Supabaseは、データベースを1つ、管理画面ごと貸してくれるサービスです。ログイン機能(認証)も同じ場所に付いてきます。
そして接続に使うURLとカギ(APIキー)は、コードに直接書かず、別の場所から渡します。この扱い方はVercelで本格的に公開するで説明しています。
実際にやるとどんな感じか
アプリのコードからは、数行でデータを出し入れできます。
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を触る日の最優先事項。