-- Unit Tenants CREATE TABLE public.unit_tenants ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, unit_id UUID REFERENCES public.units(id) ON DELETE CASCADE NOT NULL, name TEXT NOT NULL, email TEXT, phone TEXT, lease_start DATE, lease_end DATE, status TEXT DEFAULT 'active', created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); -- Unit Parking CREATE TABLE public.unit_parking ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, unit_id UUID REFERENCES public.units(id) ON DELETE CASCADE NOT NULL, spaces TEXT, spots TEXT, type TEXT, notes TEXT, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); -- Unit Pets CREATE TABLE public.unit_pets ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, unit_id UUID REFERENCES public.units(id) ON DELETE CASCADE NOT NULL, name TEXT, type TEXT, breed TEXT, weight TEXT, notes TEXT, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); -- Unit General Info CREATE TABLE public.unit_general_info ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, unit_id UUID REFERENCES public.units(id) ON DELETE CASCADE NOT NULL, utilities TEXT, amenities TEXT, restrictions TEXT, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); -- Unit Occupants CREATE TABLE public.unit_occupants ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, unit_id UUID REFERENCES public.units(id) ON DELETE CASCADE NOT NULL, name TEXT NOT NULL, relationship TEXT, phone TEXT, email TEXT, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); -- Enable RLS on all tables ALTER TABLE public.unit_tenants ENABLE ROW LEVEL SECURITY; ALTER TABLE public.unit_parking ENABLE ROW LEVEL SECURITY; ALTER TABLE public.unit_pets ENABLE ROW LEVEL SECURITY; ALTER TABLE public.unit_general_info ENABLE ROW LEVEL SECURITY; ALTER TABLE public.unit_occupants ENABLE ROW LEVEL SECURITY; -- RLS policies for authenticated users CREATE POLICY "Authenticated users can manage unit_tenants" ON public.unit_tenants FOR ALL TO authenticated USING (true) WITH CHECK (true); CREATE POLICY "Authenticated users can manage unit_parking" ON public.unit_parking FOR ALL TO authenticated USING (true) WITH CHECK (true); CREATE POLICY "Authenticated users can manage unit_pets" ON public.unit_pets FOR ALL TO authenticated USING (true) WITH CHECK (true); CREATE POLICY "Authenticated users can manage unit_general_info" ON public.unit_general_info FOR ALL TO authenticated USING (true) WITH CHECK (true); CREATE POLICY "Authenticated users can manage unit_occupants" ON public.unit_occupants FOR ALL TO authenticated USING (true) WITH CHECK (true);