Eliminar Workflow
Exportar contenido
Borra permanentemente un workflow personalizado y todos sus estados asociados.
- 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.
Qué se elimina
Sección titulada «Qué se elimina»| Elemento | Qué ocurre |
|---|---|
| Workflow | Se borra de workflow_templates |
| Estados | Todos los estados asociados se eliminan en cascada |
| Proyectos vinculados | Pierden la referencia al workflow (campo workflow_id se vuelve NULL) |
| Tareas vinculadas | Pierden la referencia al workflow |
Restricciones
Sección titulada «Restricciones»- No puedes eliminar workflows del sistema (badge “Sistema”).
- No puedes eliminar workflows que estén marcados como predeterminados (debes desmarcarlos primero).
Cómo sé que lo hice bien
Sección titulada «Cómo sé que lo hice bien»- El workflow desaparece de la lista.
- Toast de confirmación: “Workflow eliminado”.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa | Solución |
|---|---|---|
| Icono de eliminar no aparece | Es un workflow del sistema | No se pueden eliminar workflows del sistema |
| ”Error al eliminar workflow” | Workflow es predeterminado o tiene restricciones | Cambia el predeterminado a otro workflow primero |
Detalles técnicos — Eliminar Workflow
Sección titulada «Detalles técnicos — Eliminar Workflow»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 eliminarSELECT p.id, p.name, p.workflow_idFROM projects pWHERE p.workflow_id = '<workflow_id>';
-- Después de eliminar, verificar que workflow_id es NULLSELECT p.id, p.name, p.workflow_idFROM projects pWHERE p.id IN ('<project_id_1>', '<project_id_2>');