Spaces:
Running on Zero
Running on Zero
| create extension if not exists pgcrypto; | |
| create table if not exists public.generations ( | |
| id uuid primary key default gen_random_uuid(), | |
| user_id text not null, | |
| destination_url text not null, | |
| qr_mode text not null check (qr_mode in ('standard', 'artistic')), | |
| preset_id text, | |
| prompt text not null, | |
| status text not null default 'mocked' check (status in ('queued', 'processing', 'completed', 'failed', 'mocked')), | |
| credit_cost integer not null default 1 check (credit_cost > 0), | |
| created_at timestamptz not null default now() | |
| ); | |
| create table if not exists public.generation_variants ( | |
| id uuid primary key default gen_random_uuid(), | |
| generation_id uuid not null references public.generations(id) on delete cascade, | |
| variant_index integer not null, | |
| image_url text, | |
| thumbnail_url text, | |
| metadata jsonb not null default '{}'::jsonb, | |
| created_at timestamptz not null default now(), | |
| unique (generation_id, variant_index) | |
| ); | |
| create index if not exists generations_user_id_created_at_idx | |
| on public.generations(user_id, created_at desc); | |
| create index if not exists generation_variants_generation_id_idx | |
| on public.generation_variants(generation_id); | |