18 lines
850 B
SQL
18 lines
850 B
SQL
create table if not exists public.subscriptions (
|
|
id uuid primary key default gen_random_uuid(),
|
|
user_id uuid not null references auth.users(id) on delete cascade,
|
|
plan_key text not null,
|
|
interval text not null check (interval in ('month','year')),
|
|
status text not null check (status in ('active','canceled','past_due','trial')) default 'active',
|
|
started_at timestamptz not null default now(),
|
|
current_period_start timestamptz not null default now(),
|
|
current_period_end timestamptz null,
|
|
canceled_at timestamptz null,
|
|
source text not null default 'manual',
|
|
created_at timestamptz not null default now(),
|
|
updated_at timestamptz not null default now()
|
|
);
|
|
|
|
create index if not exists subscriptions_user_id_idx on public.subscriptions(user_id);
|
|
create index if not exists subscriptions_status_idx on public.subscriptions(status);
|