[
  {
    "esquema": "auth",
    "tabla": "users",
    "nombre": "on_auth_user_confirmed",
    "definicion": "CREATE TRIGGER on_auth_user_confirmed AFTER UPDATE ON auth.users FOR EACH ROW EXECUTE FUNCTION kynda.handle_user_confirmed()"
  },
  {
    "esquema": "auth",
    "tabla": "users",
    "nombre": "on_auth_user_created",
    "definicion": "CREATE TRIGGER on_auth_user_created AFTER INSERT ON auth.users FOR EACH ROW EXECUTE FUNCTION kynda.handle_new_auth_user()"
  },
  {
    "esquema": "public",
    "tabla": "action",
    "nombre": "action_brand_consistency_ins",
    "definicion": "CREATE TRIGGER action_brand_consistency_ins BEFORE INSERT ON public.action FOR EACH ROW EXECUTE FUNCTION kynda.action_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "action",
    "nombre": "action_brand_immutable_upd",
    "definicion": "CREATE TRIGGER action_brand_immutable_upd BEFORE UPDATE ON public.action FOR EACH ROW EXECUTE FUNCTION kynda.action_brand_immutable()"
  },
  {
    "esquema": "public",
    "tabla": "action",
    "nombre": "action_set_updated_at",
    "definicion": "CREATE TRIGGER action_set_updated_at BEFORE UPDATE ON public.action FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "action_enrollment",
    "nombre": "enrollment_brand_consistency_ins",
    "definicion": "CREATE TRIGGER enrollment_brand_consistency_ins BEFORE INSERT ON public.action_enrollment FOR EACH ROW EXECUTE FUNCTION kynda.enrollment_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "action_execution",
    "nombre": "action_execution_brand_consistency_ins",
    "definicion": "CREATE TRIGGER action_execution_brand_consistency_ins BEFORE INSERT ON public.action_execution FOR EACH ROW EXECUTE FUNCTION kynda.execution_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "action_execution",
    "nombre": "action_execution_chain_advance",
    "definicion": "CREATE TRIGGER action_execution_chain_advance AFTER UPDATE OF status ON public.action_execution FOR EACH ROW EXECUTE FUNCTION kynda.execution_chain_advance()"
  },
  {
    "esquema": "public",
    "tabla": "action_execution",
    "nombre": "action_execution_set_updated_at",
    "definicion": "CREATE TRIGGER action_execution_set_updated_at BEFORE UPDATE ON public.action_execution FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "action_execution",
    "nombre": "action_execution_status_guard",
    "definicion": "CREATE TRIGGER action_execution_status_guard BEFORE UPDATE ON public.action_execution FOR EACH ROW EXECUTE FUNCTION kynda.execution_status_guard()"
  },
  {
    "esquema": "public",
    "tabla": "app_user",
    "nombre": "app_user_set_updated_at",
    "definicion": "CREATE TRIGGER app_user_set_updated_at BEFORE UPDATE ON public.app_user FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "audit_log",
    "nombre": "audit_log_no_delete",
    "definicion": "CREATE TRIGGER audit_log_no_delete BEFORE DELETE ON public.audit_log FOR EACH ROW EXECUTE FUNCTION kynda.audit_log_immutable()"
  },
  {
    "esquema": "public",
    "tabla": "audit_log",
    "nombre": "audit_log_no_update",
    "definicion": "CREATE TRIGGER audit_log_no_update BEFORE UPDATE ON public.audit_log FOR EACH ROW EXECUTE FUNCTION kynda.audit_log_immutable()"
  },
  {
    "esquema": "public",
    "tabla": "brand",
    "nombre": "brand_set_updated_at",
    "definicion": "CREATE TRIGGER brand_set_updated_at BEFORE UPDATE ON public.brand FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "brand_plan",
    "nombre": "brand_plan_set_updated_at",
    "definicion": "CREATE TRIGGER brand_plan_set_updated_at BEFORE UPDATE ON public.brand_plan FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "campaign",
    "nombre": "campaign_set_updated_at",
    "definicion": "CREATE TRIGGER campaign_set_updated_at BEFORE UPDATE ON public.campaign FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "campaign",
    "nombre": "guard_campaign_visibility",
    "definicion": "CREATE TRIGGER guard_campaign_visibility BEFORE INSERT OR UPDATE ON public.campaign FOR EACH ROW EXECUTE FUNCTION kynda.guard_campaign_visibility()"
  },
  {
    "esquema": "public",
    "tabla": "campaign_blueprint",
    "nombre": "campaign_blueprint_set_updated_at",
    "definicion": "CREATE TRIGGER campaign_blueprint_set_updated_at BEFORE UPDATE ON public.campaign_blueprint FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "chain",
    "nombre": "chain_brand_consistency_ins",
    "definicion": "CREATE TRIGGER chain_brand_consistency_ins BEFORE INSERT ON public.chain FOR EACH ROW EXECUTE FUNCTION kynda.chain_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "chain",
    "nombre": "chain_status_guard",
    "definicion": "CREATE TRIGGER chain_status_guard BEFORE UPDATE ON public.chain FOR EACH ROW EXECUTE FUNCTION kynda.chain_status_guard()"
  },
  {
    "esquema": "public",
    "tabla": "chain_link",
    "nombre": "chain_link_insert_guard",
    "definicion": "CREATE TRIGGER chain_link_insert_guard BEFORE INSERT ON public.chain_link FOR EACH ROW EXECUTE FUNCTION kynda.chain_link_insert_guard()"
  },
  {
    "esquema": "public",
    "tabla": "chain_link",
    "nombre": "chain_link_status_guard",
    "definicion": "CREATE TRIGGER chain_link_status_guard BEFORE UPDATE ON public.chain_link FOR EACH ROW EXECUTE FUNCTION kynda.chain_link_status_guard()"
  },
  {
    "esquema": "public",
    "tabla": "chain_token",
    "nombre": "chain_token_brand_consistency_ins",
    "definicion": "CREATE TRIGGER chain_token_brand_consistency_ins BEFORE INSERT ON public.chain_token FOR EACH ROW EXECUTE FUNCTION kynda.chain_token_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "chain_token",
    "nombre": "chain_token_status_guard",
    "definicion": "CREATE TRIGGER chain_token_status_guard BEFORE UPDATE ON public.chain_token FOR EACH ROW EXECUTE FUNCTION kynda.chain_token_status_guard()"
  },
  {
    "esquema": "public",
    "tabla": "evidence",
    "nombre": "evidence_brand_consistency_ins",
    "definicion": "CREATE TRIGGER evidence_brand_consistency_ins BEFORE INSERT ON public.evidence FOR EACH ROW EXECUTE FUNCTION kynda.evidence_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "evidence",
    "nombre": "evidence_set_updated_at",
    "definicion": "CREATE TRIGGER evidence_set_updated_at BEFORE UPDATE ON public.evidence FOR EACH ROW EXECUTE FUNCTION set_updated_at()"
  },
  {
    "esquema": "public",
    "tabla": "evidence_media",
    "nombre": "evidence_media_brand_consistency_ins",
    "definicion": "CREATE TRIGGER evidence_media_brand_consistency_ins BEFORE INSERT ON public.evidence_media FOR EACH ROW EXECUTE FUNCTION kynda.evidence_media_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "generated_content",
    "nombre": "generated_content_brand_consistency_ins",
    "definicion": "CREATE TRIGGER generated_content_brand_consistency_ins BEFORE INSERT ON public.generated_content FOR EACH ROW EXECUTE FUNCTION kynda.generated_content_brand_consistency()"
  },
  {
    "esquema": "public",
    "tabla": "validation",
    "nombre": "validation_brand_consistency_ins",
    "definicion": "CREATE TRIGGER validation_brand_consistency_ins BEFORE INSERT ON public.validation FOR EACH ROW EXECUTE FUNCTION kynda.validation_brand_consistency()"
  },
  {
    "esquema": "storage",
    "tabla": "buckets",
    "nombre": "enforce_bucket_name_length_trigger",
    "definicion": "CREATE TRIGGER enforce_bucket_name_length_trigger BEFORE INSERT OR UPDATE OF name ON storage.buckets FOR EACH ROW EXECUTE FUNCTION storage.enforce_bucket_name_length()"
  },
  {
    "esquema": "storage",
    "tabla": "buckets",
    "nombre": "protect_buckets_delete",
    "definicion": "CREATE TRIGGER protect_buckets_delete BEFORE DELETE ON storage.buckets FOR EACH STATEMENT EXECUTE FUNCTION storage.protect_delete()"
  },
  {
    "esquema": "storage",
    "tabla": "objects",
    "nombre": "protect_objects_delete",
    "definicion": "CREATE TRIGGER protect_objects_delete BEFORE DELETE ON storage.objects FOR EACH STATEMENT EXECUTE FUNCTION storage.protect_delete()"
  },
  {
    "esquema": "storage",
    "tabla": "objects",
    "nombre": "update_objects_updated_at",
    "definicion": "CREATE TRIGGER update_objects_updated_at BEFORE UPDATE ON storage.objects FOR EACH ROW EXECUTE FUNCTION storage.update_updated_at_column()"
  }
]