-- ============================================
-- Migration 0023: Date livraison avec heure
-- Date: 2026-01-30
-- ============================================
-- Convertir dateliv de DATE en DATETIME pour inclure l'heure souhaitee
-- ============================================

IF OBJECT_ID('bcomc', 'U') IS NOT NULL
BEGIN
    -- Verifier le type actuel de la colonne dateliv
    DECLARE @current_type NVARCHAR(50);
    SELECT @current_type = DATA_TYPE
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'bcomc' AND COLUMN_NAME = 'dateliv';

    IF @current_type IS NULL
    BEGIN
        PRINT 'Colonne dateliv non trouvee dans bcomc - migration ignoree';
    END
    ELSE IF @current_type IN ('date', 'smalldatetime')
    BEGIN
        -- Supprimer la contrainte DEFAULT si elle existe
        DECLARE @constraint_name NVARCHAR(255);
        SELECT @constraint_name = 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 = 'dateliv' AND OBJECT_NAME(c.object_id) = 'bcomc';

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

        -- Convertir en DATETIME
        ALTER TABLE bcomc ALTER COLUMN dateliv DATETIME NULL;
        PRINT 'Colonne dateliv convertie en DATETIME';
    END
    ELSE
    BEGIN
        PRINT 'Colonne dateliv est deja de type ' + @current_type + ' - pas de modification';
    END
END
ELSE
BEGIN
    PRINT 'Table bcomc non trouvee - migration ignoree';
END
