Skip to content

Migrations

Script di migrazione per aggiornare lo schema database.

COM_BRANDS - Audit Trail e Soft Delete

Version: 2024.01.001 Descrizione: Aggiunge campi per audit trail e soft delete alla tabella COM_BRANDS

Migration UP

sql
-- Migration: Aggiunta audit trail e soft delete a COM_BRANDS
-- Version: 2024.01.001
-- Date: 2024-01-15

-- Audit trail (creazione)
ALTER TABLE `COM_BRANDS`
ADD COLUMN `CREATED_BY` INT UNSIGNED NULL
    COMMENT 'ID utente creatore' AFTER `ORDERING`,
ADD COLUMN `CREATED_AT` DATETIME DEFAULT CURRENT_TIMESTAMP
    COMMENT 'Data/ora creazione' AFTER `CREATED_BY`;

-- Status per query semplificate
ALTER TABLE `COM_BRANDS`
ADD COLUMN `STATUS` TINYINT UNSIGNED NOT NULL DEFAULT 1
    COMMENT '1=ACTIVE, 0=DELETED' AFTER `CREATED_AT`;

-- Soft delete tracking
ALTER TABLE `COM_BRANDS`
ADD COLUMN `DELETED_BY` INT UNSIGNED NULL
    COMMENT 'ID utente eliminazione' AFTER `STATUS`,
ADD COLUMN `DELETED_AT` DATETIME NULL
    COMMENT 'Data/ora eliminazione' AFTER `DELETED_BY`,
ADD COLUMN `RESTORED_BY` INT UNSIGNED NULL
    COMMENT 'ID utente ripristino' AFTER `DELETED_AT`,
ADD COLUMN `RESTORED_AT` DATETIME NULL
    COMMENT 'Data/ora ripristino' AFTER `RESTORED_BY`;

-- Indici per performance
ALTER TABLE `COM_BRANDS`
ADD INDEX `IDX_STATUS` (`STATUS`),
ADD INDEX `IDX_COMPANY_STATUS` (`ID_COMPANY`, `STATUS`),
ADD INDEX `IDX_DELETED_AT` (`DELETED_AT`);

-- Migrazione dati esistenti (tutti attivi)
UPDATE `COM_BRANDS` SET STATUS = 1;

Migration DOWN

sql
-- Rollback: Rimozione campi audit e soft delete da COM_BRANDS
-- Version: 2024.01.001

ALTER TABLE `COM_BRANDS`
DROP INDEX `IDX_STATUS`,
DROP INDEX `IDX_COMPANY_STATUS`,
DROP INDEX `IDX_DELETED_AT`;

ALTER TABLE `COM_BRANDS`
DROP COLUMN `CREATED_BY`,
DROP COLUMN `CREATED_AT`,
DROP COLUMN `STATUS`,
DROP COLUMN `DELETED_BY`,
DROP COLUMN `DELETED_AT`,
DROP COLUMN `RESTORED_BY`,
DROP COLUMN `RESTORED_AT`;

Note di Esecuzione

Attenzione

Esegui sempre le migrazioni in ambiente di test prima della produzione.

Pre-requisiti

  1. Backup completo del database
  2. Verifica spazio disco disponibile
  3. Pianifica finestra di manutenzione (la tabella sara bloccata durante l'ALTER)

Post-migrazione

  1. Verifica che tutti i record abbiano STATUS = 1
  2. Aggiorna le query esistenti per filtrare su STATUS
  3. Testa le API con i nuovi campi

Storico Migrazioni

VersionDataDescrizioneStato
2024.01.0012024-01-15Audit trail e soft delete COM_BRANDSPending

Documentazione interna Elerama