Ir al contenido

Eliminar Workflow

Borra permanentemente un workflow personalizado y todos sus estados asociados.

  1. Clic en el icono Eliminar (papelera roja) del workflow — sin confirmación adicional, se elimina inmediatamente.

ALERTA: Esta acción es irreversible. El workflow y todos sus estados se eliminan permanentemente.

ElementoQué ocurre
WorkflowSe borra de workflow_templates
EstadosTodos los estados asociados se eliminan en cascada
Proyectos vinculadosPierden la referencia al workflow (campo workflow_id se vuelve NULL)
Tareas vinculadasPierden la referencia al workflow
  • No puedes eliminar workflows del sistema (badge “Sistema”).
  • No puedes eliminar workflows que estén marcados como predeterminados (debes desmarcarlos primero).
  • El workflow desaparece de la lista.
  • Toast de confirmación: “Workflow eliminado”.
MensajeCausaSolución
Icono de eliminar no apareceEs un workflow del sistemaNo se pueden eliminar workflows del sistema
”Error al eliminar workflow”Workflow es predeterminado o tiene restriccionesCambia el predeterminado a otro workflow primero
Mutación de eliminación

Función: deleteWorkflow en WorkflowManager.tsx

const deleteWorkflow = useMutation({
mutationFn: async (id: string) => {
const { error } = await supabase
.from("workflow_templates")
.delete()
.eq("id", id);
if (error) throw error;
},
onSuccess: () => {
toast({ title: "Workflow eliminado" });
queryClient.invalidateQueries({ queryKey: ["workflows"] });
},
});

Cascada: Los estados se eliminan automáticamente por la FK ON DELETE CASCADE.

Query de diagnóstico
-- Ver proyectos afectados antes de eliminar
SELECT
p.id,
p.name,
p.workflow_id
FROM projects p
WHERE p.workflow_id = '<workflow_id>';
-- Después de eliminar, verificar que workflow_id es NULL
SELECT
p.id,
p.name,
p.workflow_id
FROM projects p
WHERE p.id IN ('<project_id_1>', '<project_id_2>');