Spaces:
Sleeping
Sleeping
| create table if not exists profiles ( | |
| id uuid primary key, | |
| name text not null, | |
| email text, | |
| timezone text not null, | |
| goals jsonb default '[]'::jsonb, | |
| preferred_mode text not null, | |
| date_of_birth date, | |
| gender text not null default 'prefer_not_to_say', | |
| sexual_orientation text not null default 'prefer_not_to_say', | |
| location text, | |
| created_at timestamptz not null, | |
| updated_at timestamptz not null | |
| ); | |
| create table if not exists sessions ( | |
| id uuid primary key, | |
| profile_id uuid not null references profiles(id) on delete cascade, | |
| mode text not null, | |
| title text, | |
| summary text, | |
| created_at timestamptz not null, | |
| updated_at timestamptz not null | |
| ); | |
| create table if not exists messages ( | |
| id uuid primary key, | |
| session_id uuid not null references sessions(id) on delete cascade, | |
| role text not null, | |
| content text not null, | |
| timestamp timestamptz not null, | |
| mood_score integer, | |
| distortion text, | |
| is_crisis boolean default false | |
| ); | |
| create table if not exists mood_logs ( | |
| id uuid primary key, | |
| session_id uuid not null references sessions(id) on delete cascade, | |
| profile_id uuid not null references profiles(id) on delete cascade, | |
| score integer not null, | |
| note text, | |
| timestamp timestamptz not null | |
| ); | |
| create table if not exists homework ( | |
| id uuid primary key, | |
| profile_id uuid not null references profiles(id) on delete cascade, | |
| session_id uuid not null references sessions(id) on delete cascade, | |
| title text not null, | |
| instructions text not null, | |
| status text not null, | |
| reflection text, | |
| due_at timestamptz, | |
| created_at timestamptz not null, | |
| updated_at timestamptz not null | |
| ); | |
| create table if not exists schedules ( | |
| id uuid primary key, | |
| profile_id uuid not null references profiles(id) on delete cascade, | |
| title text not null, | |
| description text, | |
| start_at timestamptz not null, | |
| end_at timestamptz not null, | |
| timezone text not null, | |
| calendar_url text, | |
| created_at timestamptz not null | |
| ); | |