-- 0005_agenda.sql — Phase 4 -- Événements calendrier (source locale ou sync Google) + token OAuth Google (single-row). set search_path to ordinarthur_os, public; create table if not exists ordinarthur_os.calendar_events ( id uuid primary key default gen_random_uuid(), google_event_id text unique, title text not null, description text, location text, starts_at timestamptz not null, ends_at timestamptz not null, all_day boolean not null default false, source text not null default 'ordinarthur-os', created_at timestamptz not null default now(), updated_at timestamptz not null default now() ); create index if not exists calendar_events_starts_at_idx on ordinarthur_os.calendar_events(starts_at); -- Single-row pour Arthur (id forcé à 1 par le check) create table if not exists ordinarthur_os.google_oauth_tokens ( id smallint primary key default 1 check (id = 1), access_token text not null, refresh_token text not null, expires_at timestamptz not null, calendar_id text );