Spaces:
Sleeping
Sleeping
| -- Supabase/Postgres schema for message storage | |
| -- messages table stores message content and metadata | |
| CREATE TABLE IF NOT EXISTS messages ( | |
| id BIGSERIAL PRIMARY KEY, | |
| channel_id TEXT NOT NULL, | |
| user_id_hash TEXT NOT NULL, | |
| content TEXT, | |
| timestamp TIMESTAMP WITH TIME ZONE, | |
| metadata JSONB, | |
| created_at TIMESTAMP WITH TIME ZONE DEFAULT now() | |
| ); | |
| -- archive table for messages that were removed due to retention | |
| CREATE TABLE IF NOT EXISTS messages_archive ( | |
| id BIGSERIAL PRIMARY KEY, | |
| channel_id TEXT, | |
| user_id_hash TEXT, | |
| content TEXT, | |
| timestamp TIMESTAMP WITH TIME ZONE, | |
| metadata JSONB, | |
| archived_at TIMESTAMP WITH TIME ZONE DEFAULT now() | |
| ); | |
| -- channels metadata | |
| CREATE TABLE IF NOT EXISTS channels ( | |
| id TEXT PRIMARY KEY, | |
| name TEXT, | |
| platform TEXT, | |
| created_at TIMESTAMP WITH TIME ZONE DEFAULT now() | |
| ); | |
| -- analytics table for daily aggregates | |
| CREATE TABLE IF NOT EXISTS analytics ( | |
| id BIGSERIAL PRIMARY KEY, | |
| channel_id TEXT, | |
| message_count INTEGER, | |
| active_users INTEGER, | |
| date DATE | |
| ); | |