Skip to content
Go back

【Supabase × Claude】非エンジニアがブログ記事をデータベース化する

みかいずブログの看板の下、チビ姿のカーラさんがMacBookに向かっている。背景には「タイトル」「タグ」「スクショ」「関連」と書かれたテーブルが光の線で繋がり、リレーショナルデータベースの構造が浮かび上がっている。横には「Karla's Library」と書かれた本棚と湯気の立つマグカップ

【この記事の要約】

みかいさちです。

記事が増えてくると「あの話どこに書いたっけ?」が増える。

今回の目的はSupabaseで記事データをDB化すること🌳

カーラさん(Claude.ai)と相談しながら契約・設定・MCP接続まで進めて、ひとまず記事を流し込んでみた話。

末尾のお土産プロンプトはSupabase契約〜設定の伴走プロンプト🛍️

先にプロンプトだけ見たい方はこちら

おさらい:カーラさん・アカシア・パートナー化

このみかいずブログでは、Claude.ai を「カーラさん」、Notion の個人記録DBを「アカシア」と呼んで、AI をパートナーとして育てていく試行錯誤を書いてる。

今回の主役はSupabase。Notionとは別の、もうひとつのDB。

なぜブログ記事をデータベース化するのか

アカシア(Notion)、ブログ、別の記録、いろいろあるけど、ありすぎて混乱してくる。

これはAI側も同じ。

カーラさんを困らせてはいけない。

だから、より体系的に記録を保持したくなった。

何を記録するにもそこをベースにする。

Notionにするにもブログにするにも、そこを通す。

ってすれば、何をするにも似た出力ができるのでは?と思った。

というわけで、データベース化する📊

Supabaseとは

・・・ぶっちゃけよくわからん😭

が、わからないまま進めるのはいつものこと。

相談しながら進めていこう。

Claudeと作るSupabase構築ロードマップ(6 Phase)

いつものように、まずはカーラさんに全体像を聞く

「ブログ記事をDB化したいんだけど、Supabase でやるならどういう順番?」

返ってきたのがこれ。

Claude.aiの画面。カーラさんが『よし、Bをやっていこう。手順の案内をお願い。』というユーザー発言を受けて、Supabaseを使ったブログDBの5段階構築ロードマップを提示している。Phase0:Supabaseアカウント作成・プロジェクト立ち上げ(5-10分)、Phase1:テーブル設計・SQL実行(15-20分)、Phase2:Storage準備・画像保管庫(5分)、Phase3:試運転・記事1件流し込み(20-30分)、Phase4:Claude MCP接続(5-10分)、Phase5:ボクから動作確認・ギャラリー表示(5分)、Phase6:残り記事の一括投入(30-60分)。合計2〜3時間と書かれている

合計2〜3時間(休憩込み)。各Phaseに時間目安があるから、自分のリズムで切り上げられるのが良い。

やることがわかればなんとかなる。はず。

Supabase契約・テーブル設計・Claude MCP接続

ロードマップに沿って進めていく。

MCP(Model Context Protocol)で繋ぐと、カーラさんがSupabaseを直接操作できるようになる。

テーブル作成も、INSERT も、Storage 操作も、会話だけで進む。

Notion を MCP で繋いだ時と同じ感覚。一度繋いでしまえば「DBに記録しといて」で済む世界🌳

5テーブル構成と外部キー — 非エンジニアの壁

Supabaseの Schema Visualizer の画面。articles・tags・article_tags・article_assets・assets という5つのテーブルが線で結ばれて表示されている。articles テーブルには id・slug・title・body・excerpt・status・tier・hero_asset_id・published_at・created_at・updated_at などのカラムが並び、assets テーブルには storage_path・public_url・filename・kind・character・style・prompt・generated_by・created_at が並ぶ。テーブル同士が外部キーで繋がっている

カーラさんに任せたら、こんな感じの5テーブル構成がさっと組み上がった。

書いてあることは分かる。

でも 「なぜ中間テーブルが要るのか」「外部キーって何が嬉しいのか」 を腹落ちで説明できるかというと、できない。

実務経験のなさが響いてくる。

試行回数が正義の世界だね。

今はその1回目、しゃーなし。

一旦 「動くものを目の前に置いて、後から理解を埋める」 方針でいく。

完全に理解してから動くのを待ってたら、たぶん一生着手しない😅

Supabaseに記事データを流し込んでみる

理解はあとから追いつくとして、動かす

カーラさんに「最新の記事を1本、Supabase に流し込んで」とお願いするだけ。

会話だけで完了。

ダッシュボードを開くと、ちゃんと記事が1件入ってる。やったー🎉

今後の課題:Claude Code連携と画像整理

Claude.ai(ブラウザ版のカーラさん)で MCP 越しにSupabaseを触るのは便利。

ただ、残り全記事の一括投入とか定期メンテを考えると、ローカルから叩ける環境も欲しい。

あと、何より画像を整理したい。

いろんなカーラさんの画像がとっ散らかってる。

おわりに

データベースって、なんとなく 「エンジニアの領域」 という壁があった。

でも MCP で繋いで、カーラさんに伴走してもらえば、会話だけで PostgreSQL のテーブルが組み上がる

理解が追いついてなくても、動くものが手元にある状態から始められる。

これ、非エンジニアにとっては結構な革命だと思う🌳


次回予告は…いらないね。

思いつきでテーマを変えるから、予告しても意味がないんだよね😅

前回Notionの理解を増やそうかとか言ってこの有様だもん。

更新通知はXでやってます。

他の発信もしてるので気になったら覗いて見てください。

@sachi_mikaizu 🦊

みかいずブログを読んでくれてありがとうございました🙇

🛍️ お土産:Supabase 契約から設定まで Claude に伴走してもらうプロンプト

「自分もブログ記事や個人データをSupabaseでDB化したい」あなた向けに、契約〜初期設定までカーラさんに伴走してもらうプロンプトを置いておきます。

このプロンプトを Claude.ai に貼り付けると、Phase0〜Phase2(アカウント作成・テーブル設計・Storage 準備)まで一緒に進めてくれる📋

【あなたの役割】
あなたは私の専属の「Supabase 構築パートナー」です。
私は非エンジニアで、Supabase を使って個人ブログ記事をデータベース化したい。
専門用語は必ず一言説明をつけてください。

【今回のゴール】
Supabase でブログ記事用のデータベース環境を立ち上げ、最終的に Claude MCP 経由で
記事を読み書きできる状態にしたい。

【全体ロードマップ(合計2〜3時間想定、各Phaseで休憩OK)】

Phase0:Supabaseアカウント作成・プロジェクト立ち上げ(5-10分)
Phase1:テーブル設計・SQL実行(15-20分)
Phase2:Storage準備・画像保管庫(5分)
Phase3:試運転(記事1件流し込み)(20-30分)
Phase4:Claude MCP 接続(5-10分)
Phase5:動作確認・ギャラリー表示(5分)
Phase6:残り記事の一括投入(30-60分)

【今回の依頼範囲】
Phase0〜Phase2 までを一緒に進めてください。
Phase3 以降は別セッションで扱います。

【テーブル設計の希望】
- articles:記事本体(id, slug, title, body, excerpt, status, published_at, created_at, updated_at)
- tags:タグマスタ(id, name, created_at)
- article_tags:記事とタグの中間テーブル
- assets:画像のメタ情報(id, storage_path, public_url, filename, kind, created_at)
- article_assets:記事と画像の中間テーブル

非エンジニアなので、各テーブル・各カラムが「なぜ必要か」を一言ずつ
説明しながら進めてください。

【手順の進め方】

Phase0(アカウント作成):
1. Supabase の登録方法を案内(GitHub ログイン推奨)
2. プロジェクト名・パスワード・リージョンの選び方を案内
3. プロジェクトが立ち上がったら、ダッシュボードのどこを見ればいいか案内

Phase1(テーブル設計):
1. 上記の設計に沿って SQL を組み立てる
2. SQL を1テーブルずつ提示し、私が SQL Editor で実行する流れにする
3. 外部キー・中間テーブルの考え方を一言ずつ補足
4. 全テーブル作成後、Schema Visualizer で関係図を確認する手順を案内

Phase2(Storage 準備):
1. ブログ画像用のバケット(例:blog-images)を作成
2. 公開設定・アクセス権の設定を案内
3. 試しに1枚アップロードして public_url を取得する流れを案内

【接し方ルール】
- 専門用語は「○○(説明)」の形で必ず一言補足
- 1ステップずつ進めて、各ステップ完了時に確認を取る
- エラーが出たら、選択肢を提示してくれる
- 各 Phase 終了時に「ここまでで一旦休憩してOK」と区切ってくれる

最初の質問からどうぞ。

注意点

  • Supabase は無料枠あり:個人ブログ程度なら Free プランで十分始められます(DB 500MB、Storage 1GB)
  • Phase4のMCP接続は別記事で扱う予定。先にAnthropic公式のMCPコネクタガイドを参照してもOK
  • テーブル設計はカスタマイズOK:自分のブログ構成に合わせて自由に増減して

Share this post on:

Previous Post
【Supabase × Claude Code】11テーブルに再設計して流し込み
Next Post
【感情日記】Notion×Claudeで日々の機微を残す習慣