Skip to content

Eliminar y restaurar en masa

GCM nunca elimina de forma definitiva los registros de miembros desde el módulo de acciones masivas. Cada "eliminación" es un borrado suave — la fila recibe una marca de tiempo deleted_at y desaparece de cada menú desplegable y lista, pero se queda en la base de datos por 30 días. Durante esa ventana un administrador puede restaurarla como si nunca se hubiera ido.

Cómo eliminar en masa

Abre el módulo de miembros, filtra o selecciona los miembros que quieres remover y haz clic en Acciones masivas → Eliminar.

El diálogo de confirmación muestra:

  • El conteo de la selección.
  • El desglose por tipo de miembro — así puedes detectar un clic equivocado antes de que ocurra.
  • Un botón rojo Sí, eliminar de forma suave N miembros.

Haz clic en él y la acción se pone en cola. Las filas seleccionadas reciben deleted_at = now() y un ID de usuario deleted_by. Ya no aparecen en la lista de miembros, en los selectores desplegables, en los reportes ni en el panel.

Eliminar de forma suave no es lo mismo que marcar como perdido

Eliminar un miembro es para limpieza — duplicados, filas de prueba, errores. Marcar a alguien como perdido registra que ha dejado la iglesia pero mantiene el registro visible y reportable. Consulta Miembros activos vs perdidos. No elimines en masa a personas que simplemente dejaron de asistir — márcalas como perdidas en su lugar.

La papelera de reciclaje

Los miembros eliminados de forma suave viven en una página separada: Miembros → Eliminados (o /members/deleted).

Cada fila muestra:

  • Nombre, tipo de miembro, la unidad organizativa en la que estaban.
  • Marca de tiempo de Eliminado en.
  • Usuario que Eliminó.
  • Días restantes hasta la purga definitiva.
  • Dos botones: Restaurar y Eliminar permanentemente.

Haz clic en Restaurar en una sola fila, o filtra a un lote y usa Acciones masivas → Restaurar para traer muchos de vuelta a la vez. Las filas restauradas reciben deleted_at = null y reaparecen en listas, menús desplegables y reportes — exactamente como estaban antes de la eliminación. Su asistencia, donaciones, membresías de grupo y asignaciones de ministerio vuelven con ellos.

La ventana de 30 días

Un trabajo en segundo plano nocturno elimina definitivamente las filas donde deleted_at < now() - interval '30 days'. Una vez que eso se ejecuta, los datos se han ido — sin restauración.

Si necesitas recuperar una fila después de 30 días, la única opción es restaurar desde una copia de seguridad de la base de datos, lo cual es un ticket de soporte y un proceso con SLA. Así que si acabas de eliminar algo importante por accidente, restaura desde la papelera de reciclaje hoy.

Permisos

Eliminar en masa requiere members.delete. Restaurar en masa requiere members.restore (normalmente otorgado solo a administradores). La eliminación permanente requiere members.purge y está escondida tras una segunda confirmación que incluye escribir el slug de la organización — no hay recuperación de esta acción.

No purgues en masa durante demostraciones

El botón de eliminar permanentemente solo es útil para limpiar datos de prueba después de una sesión de sandbox. En una organización de producción, la papelera de reciclaje debería correr hasta su tiempo natural de 30 días — purgar antes cierra la puerta a la recuperación de eliminaciones accidentales.

Otros tipos de acciones masivas y eliminación

También puedes eliminar en masa:

  • Donaciones — mismo patrón de eliminación suave, ventana de 30 días, mismas barreras de permisos (donations.delete).
  • Filas de asistencia — útil para arreglar una sesión de check-in mal hecha. Las filas de asistencia eliminadas de forma suave no aparecen en los reportes.

Para ministerios, grupos, escuelas y reuniones, la eliminación es una acción de registro único (no en masa) porque el impacto en cascada es mayor; consulta el artículo "Eliminar o archivar" de la sección relevante.

Lo que se registra

Cada eliminación y restauración masiva escribe una fila por registro afectado en org_audit_log con la clave de acción members.bulk_delete / members.bulk_restore, el ID del usuario que actuó y el ID del miembro afectado. El registro de auditoría es donde rastreas "quién eliminó a María Pérez y cuándo".

Próximos pasos

  1. Asignar y asistencia en masa — el complemento aditivo a la eliminación.
  2. Monitorear ejecuciones — sigue el progreso, reintenta los fallos.
  3. Miembros activos vs perdidos — el mecanismo correcto para "dejó la iglesia", a diferencia de "elimina el registro".