로그인 상태를 헤더에서 즉시 인지하고 계정 관리를 이어갈 수 있도록 사용자 설정과 관리자 멤버 관측 기능을 연결했다. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
1.0 KiB
SQL
31 lines
1.0 KiB
SQL
CREATE TABLE IF NOT EXISTS users (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
username TEXT NOT NULL,
|
|
email TEXT NOT NULL UNIQUE,
|
|
password_hash TEXT NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS users_email_idx
|
|
ON users (email);
|
|
|
|
CREATE TABLE IF NOT EXISTS comments (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
post_id UUID NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
|
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
parent_id UUID REFERENCES comments(id) ON DELETE CASCADE,
|
|
body TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'published',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
CONSTRAINT comments_status_check CHECK (status IN ('published', 'pending', 'blocked'))
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS comments_post_id_created_at_idx
|
|
ON comments (post_id, created_at ASC);
|
|
|
|
CREATE INDEX IF NOT EXISTS comments_parent_id_idx
|
|
ON comments (parent_id);
|
|
|