laring-backend / schema.sql
Zaid
feat: integrate Supabase DB and add Render blueprint configuration
3e9fac7
Raw
History Blame Contribute Delete
1.63 kB
-- Laring AI - Supabase Database Schema
-- Paste this script into the Supabase SQL Editor and click "Run".
-- 1. Table for Security Alerts (physical contact, aggression, suspicious objects)
CREATE TABLE IF NOT EXISTS security_alerts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL,
type TEXT NOT NULL,
message TEXT NOT NULL,
parties JSONB DEFAULT '[]'::jsonb,
severity TEXT DEFAULT 'medium'
);
-- Index for ordering alerts by newest first
CREATE INDEX IF NOT EXISTS idx_alerts_created_at ON security_alerts(created_at DESC);
-- 2. Table for Room Telemetry Statistics (Periodic snapshots)
CREATE TABLE IF NOT EXISTS room_statistics (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL,
people_count INTEGER NOT NULL,
objects_detected JSONB DEFAULT '[]'::jsonb NOT NULL,
dominant_emotion TEXT
);
-- Index for ordering stats snapshots by newest first
CREATE INDEX IF NOT EXISTS idx_stats_created_at ON room_statistics(created_at DESC);
-- 3. Table for Game Leaderboard (mimicry game high scores)
CREATE TABLE IF NOT EXISTS game_leaderboard (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL,
player_name TEXT NOT NULL,
score INTEGER NOT NULL,
high_score INTEGER NOT NULL
);
-- Index for ordering leaderboard from highest score to lowest
CREATE INDEX IF NOT EXISTS idx_leaderboard_score ON game_leaderboard(score DESC);