← back to Designerrepresentatives
db/schema.sql
29 lines
-- designer_representatives schema
-- Standalone PG table — NOT part of dw_unified, lawyer_*, or doctor_*.
CREATE TABLE IF NOT EXISTS designer_reps (
id SERIAL PRIMARY KEY,
slug TEXT UNIQUE NOT NULL,
name TEXT NOT NULL,
agency TEXT NOT NULL,
city TEXT,
region TEXT,
territories TEXT[] DEFAULT '{}',
lines TEXT[] DEFAULT '{}',
vertical TEXT[] DEFAULT '{}',
email TEXT,
phone TEXT,
website_url TEXT,
contact_url TEXT,
bio TEXT,
is_claimed BOOLEAN NOT NULL DEFAULT FALSE,
is_published BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_designer_reps_city ON designer_reps (city);
CREATE INDEX IF NOT EXISTS idx_designer_reps_published ON designer_reps (is_published);
CREATE INDEX IF NOT EXISTS idx_designer_reps_territories ON designer_reps USING gin (territories);
CREATE INDEX IF NOT EXISTS idx_designer_reps_lines ON designer_reps USING gin (lines);
CREATE INDEX IF NOT EXISTS idx_designer_reps_vertical ON designer_reps USING gin (vertical);