-- Move users and refresh_tokens to auth schema for better isolation and consistency
CREATE SCHEMA IF NOT EXISTS auth;

-- Move the tables (safe and idempotent)
DO $$
BEGIN
  IF EXISTS (SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'users') THEN
    ALTER TABLE public.users SET SCHEMA auth;
  END IF;
  IF EXISTS (SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'refresh_tokens') THEN
    ALTER TABLE public.refresh_tokens SET SCHEMA auth;
  END IF;
END $$;

-- Note: Postgres automatically updates foreign key references and indexes 
-- when a table is moved to a different schema using SET SCHEMA.

-- However, we might need to update any explicit cross-schema references in the future
-- if we were to move to entirely separate databases. For now, they remain in the same DB.
