-- Extension 1: Household Knowledge Base -- Stores household facts and vendor contacts (single-user, no RLS) CREATE OR REPLACE FUNCTION update_updated_at_column() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = now(); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TABLE IF NOT EXISTS household_items ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, category TEXT, location TEXT, details JSONB NOT NULL DEFAULT '{}', notes TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE TABLE IF NOT EXISTS household_vendors ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, service_type TEXT, phone TEXT, email TEXT, website TEXT, notes TEXT, rating INTEGER CHECK (rating >= 1 AND rating <= 5), last_used DATE, created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_household_items_category ON household_items(category); CREATE INDEX IF NOT EXISTS idx_household_vendors_service ON household_vendors(service_type); DROP TRIGGER IF EXISTS update_household_items_updated_at ON household_items; CREATE TRIGGER update_household_items_updated_at BEFORE UPDATE ON household_items FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();