26 lines
1.2 KiB
SQL
26 lines
1.2 KiB
SQL
-- ─────────────────────────────────────────────────────────────────
|
|
-- FASE 5: Notificações e Área do Ganhador
|
|
-- ─────────────────────────────────────────────────────────────────
|
|
|
|
CREATE TABLE IF NOT EXISTS notifications (
|
|
id SERIAL PRIMARY KEY,
|
|
user_cpf TEXT NOT NULL,
|
|
title TEXT NOT NULL,
|
|
message TEXT NOT NULL,
|
|
type TEXT DEFAULT 'info', -- 'info', 'win', 'alert'
|
|
read_at TIMESTAMPTZ,
|
|
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS raffle_claims (
|
|
id SERIAL PRIMARY KEY,
|
|
raffle_id INTEGER NOT NULL REFERENCES raffles(id) ON DELETE CASCADE,
|
|
ticket_id INTEGER NOT NULL REFERENCES tickets(id),
|
|
user_cpf TEXT NOT NULL,
|
|
status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'delivered')),
|
|
delivery_address TEXT,
|
|
delivery_notes TEXT,
|
|
claimed_at TIMESTAMPTZ DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|