目次
ER図
Webサイトやブログには「記事」や「投稿」といったデータがありますよね? 例えば、ブログを書くときに「タイトル」「本文」「画像」「投稿日時」などの情報を保存したいですよね。
Supabaseの「posts」テーブルは、そんなブログの投稿データを管理するためのものです!
カラム名 | データ型 | 説明 |
---|---|---|
id | int8 | 投稿ごとのID(自動で増える) |
user_id | uuid | 投稿したユーザーのID |
category_id | int8 | カテゴリのID(どの種類の記事か) |
title | varchar | 記事のタイトル |
content | text | 記事の内容(本文) |
image_path | text | 画像のURLまたはパス |
created_at | timestamp | 記事を作成した日時 |
updated_at | timestamp | 記事を更新した日時 |
カラム名 | データ型 | 説明 |
---|---|---|
id | uuid | ユーザーごとのID(主キー) |
name | varchar | ユーザーの名前 |
email | varchar | ユーザーのメールアドレス |
password | varchar | ハッシュ化されたパスワード |
created_at | timestamp | ユーザー登録日時 |
updated_at | timestamp | ユーザー情報の更新日時 |
「user_id
」や「category_id
」には、他のテーブルのデータを関連付けることができます。これを 「外部キー(Foreign Key)」 といいます。
Supabaseでは、 GUI(画面操作) と SQL(コードを使う方法) の2種類の方法でテーブルを作れます。
user_id
や category_id
の 外部キー設定 をする。CREATE TABLE posts (
id SERIAL PRIMARY KEY,
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
category_id INT REFERENCES categories(id),
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
image_path TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
このSQLを 「SQL Editor」 に入力して実行すると、テーブルが作成されます!
user_id
や category_id
は、 他のテーブルの情報とつながるカラム です。例えば、
user_id
→ ユーザー情報(usersテーブル)とつながるcategory_id
→ カテゴリ情報(categoriesテーブル)とつながるつまり、 「この投稿は誰が作ったの?」 や 「この記事のカテゴリは何?」 という情報を管理できます!
✅ Supabaseの「posts」テーブルは、ブログ記事を管理するためのもの!
✅ user_id
や category_id
は 外部キー(Foreign Key) を使って、他のテーブルとつなげられる。
✅ Supabaseでは、 GUI(Table Editor) か SQL(SQL Editor) でテーブルを作成できる。
✅ 外部キーの設定で、データの整合性を保つことができる!
これでSupabaseの「posts」テーブルについてバッチリですね!💡
ぜひ、実際にSupabaseで試してみてください! 🚀