-- ─── Lixeira: soft delete em tudo o que é importante ──────────────────────── -- Apagar no backoffice passa a marcar deleted_at (+ quem apagou). O registo -- fica em Sistema → Lixeira, onde se restaura a qualquer momento e só se -- elimina de vez depois de 30 dias (regra em config/functions_trash.php, no -- próprio WHERE do DELETE). -- -- Só acrescenta colunas e índices. Safe to re-run. -- Tabelas que já tinham deleted_at: falta saber quem apagou. ALTER TABLE `team` ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL AFTER `deleted_at`; ALTER TABLE `modalidades` ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL AFTER `deleted_at`; ALTER TABLE `events` ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL AFTER `deleted_at`; ALTER TABLE `memberships` ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL AFTER `deleted_at`; -- Tabelas que eram apagadas de vez. ALTER TABLE `galleries` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL, ADD INDEX IF NOT EXISTS `idx_galleries_deleted` (`deleted_at`); ALTER TABLE `gallery` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL, ADD INDEX IF NOT EXISTS `idx_gallery_deleted` (`deleted_at`); ALTER TABLE `horario` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL, ADD INDEX IF NOT EXISTS `idx_horario_deleted` (`deleted_at`); ALTER TABLE `work_hours` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL; ALTER TABLE `event_leads` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL; ALTER TABLE `membership_leads` ADD COLUMN IF NOT EXISTS `deleted_at` DATETIME NULL DEFAULT NULL, ADD COLUMN IF NOT EXISTS `deleted_by` INT UNSIGNED NULL DEFAULT NULL;