-- ============================================
-- Migration 0022: Suppression colonnes pause obsoletes
-- Date: 2026-01-30
-- ============================================
-- Supprimer les colonnes en_pause, raison_pause et historique_pauses
-- de la table Interventions
-- Ces colonnes ne sont plus utilisees car la pause est geree par le statut equipement
-- ============================================

IF OBJECT_ID('Interventions', 'U') IS NOT NULL
BEGIN
    -- 1. Supprimer en_pause si elle existe (avec ses contraintes)
    IF EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'en_pause'
    )
    BEGIN
        -- Supprimer la contrainte DEFAULT si elle existe
        DECLARE @constraint_en_pause NVARCHAR(255);
        SELECT @constraint_en_pause = d.name
        FROM sys.default_constraints d
        JOIN sys.columns c ON d.parent_column_id = c.column_id AND d.parent_object_id = c.object_id
        WHERE c.name = 'en_pause' AND OBJECT_NAME(c.object_id) = 'Interventions';

        IF @constraint_en_pause IS NOT NULL
        BEGIN
            EXEC('ALTER TABLE Interventions DROP CONSTRAINT ' + @constraint_en_pause);
            PRINT 'Contrainte ' + @constraint_en_pause + ' supprimee';
        END

        ALTER TABLE Interventions DROP COLUMN en_pause;
        PRINT 'Colonne en_pause supprimee';
    END
    ELSE
    BEGIN
        PRINT 'Colonne en_pause n existe pas';
    END

    -- 2. Supprimer raison_pause si elle existe (avec ses contraintes)
    IF EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'raison_pause'
    )
    BEGIN
        -- Supprimer la contrainte DEFAULT si elle existe
        DECLARE @constraint_raison_pause NVARCHAR(255);
        SELECT @constraint_raison_pause = d.name
        FROM sys.default_constraints d
        JOIN sys.columns c ON d.parent_column_id = c.column_id AND d.parent_object_id = c.object_id
        WHERE c.name = 'raison_pause' AND OBJECT_NAME(c.object_id) = 'Interventions';

        IF @constraint_raison_pause IS NOT NULL
        BEGIN
            EXEC('ALTER TABLE Interventions DROP CONSTRAINT ' + @constraint_raison_pause);
            PRINT 'Contrainte ' + @constraint_raison_pause + ' supprimee';
        END

        ALTER TABLE Interventions DROP COLUMN raison_pause;
        PRINT 'Colonne raison_pause supprimee';
    END
    ELSE
    BEGIN
        PRINT 'Colonne raison_pause n existe pas';
    END

    -- 3. Supprimer historique_pauses si elle existe
    IF EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'historique_pauses'
    )
    BEGIN
        ALTER TABLE Interventions DROP COLUMN historique_pauses;
        PRINT 'Colonne historique_pauses supprimee';
    END
    ELSE
    BEGIN
        PRINT 'Colonne historique_pauses n existe pas';
    END

END
ELSE
BEGIN
    PRINT 'Table Interventions non trouvee - migration ignoree';
END
