第二步:创建项目 → Settings → API → 复制 Project URL 和 anon public key
第三步:在 SQL Editor 中运行建表 SQL(下方复制)
📋 复制此 SQL 到 Supabase SQL Editor
-- 恋爱日记数据库表
-- 复制以下全部内容,到 Supabase SQL Editor 中运行
-- 1. 日记表
CREATE TABLE IF NOT EXISTS diaries (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
user_id TEXT NOT NULL,
date DATE NOT NULL,
mood TEXT DEFAULT '😊',
content TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE diaries ENABLE ROW LEVEL SECURITY;
CREATE POLICY "diaries_all" ON diaries FOR ALL USING (true) WITH CHECK (true);
-- 2. 纪念日表
CREATE TABLE IF NOT EXISTS anniversaries (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
user_id TEXT NOT NULL,
name TEXT NOT NULL,
date DATE NOT NULL,
emoji TEXT DEFAULT '💕',
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE anniversaries ENABLE ROW LEVEL SECURITY;
CREATE POLICY "anniversaries_all" ON anniversaries FOR ALL USING (true) WITH CHECK (true);
-- 3. 愿望表
CREATE TABLE IF NOT EXISTS wishes (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
target_date DATE,
status BOOLEAN DEFAULT FALSE,
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE wishes ENABLE ROW LEVEL SECURITY;
CREATE POLICY "wishes_all" ON wishes FOR ALL USING (true) WITH CHECK (true);
-- 4. 悄悄话表
CREATE TABLE IF NOT EXISTS whispers (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
sender_id TEXT NOT NULL,
content TEXT NOT NULL,
is_read BOOLEAN DEFAULT FALSE,
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE whispers ENABLE ROW LEVEL SECURITY;
CREATE POLICY "whispers_all" ON whispers FOR ALL USING (true) WITH CHECK (true);
-- 5. 瞬间表
CREATE TABLE IF NOT EXISTS moments (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
user_id TEXT NOT NULL,
image_data TEXT NOT NULL,
title TEXT DEFAULT '',
mood TEXT DEFAULT '😊',
likes INTEGER DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE moments ENABLE ROW LEVEL SECURITY;
CREATE POLICY "moments_all" ON moments FOR ALL USING (true) WITH CHECK (true);
-- 6. 经期表
CREATE TABLE IF NOT EXISTS periods (
id BIGSERIAL PRIMARY KEY,
couple_code TEXT NOT NULL,
user_id TEXT NOT NULL,
start_date DATE NOT NULL,
end_date DATE,
mood TEXT DEFAULT '😊',
note TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE periods ENABLE ROW LEVEL SECURITY;
CREATE POLICY "periods_all" ON periods FOR ALL USING (true) WITH CHECK (true);