-- ========================================
-- FIX COMPLET: Table bon_de_commande
-- ========================================
-- Cette requête fixe :
-- 1. L'AUTO_INCREMENT sur la colonne id
-- 2. Les valeurs par défaut pour created_at et updated_at
--
-- À exécuter sur : crmgaujdev ET crmgaujprod
-- ========================================

-- Désactiver temporairement le mode strict pour éviter les erreurs
SET sql_mode = '';

-- Étape 1 : Corriger les valeurs invalides de created_at
-- Remplacer '0000-00-00 00:00:00' par une date valide
UPDATE `bon_de_commande` 
SET `created_at` = '2024-01-01 00:00:00' 
WHERE `created_at` = '0000-00-00 00:00:00' OR `created_at` IS NULL;

-- Étape 2 : Corriger les valeurs invalides de updated_at
-- Remplacer '0000-00-00 00:00:00' par une date valide
UPDATE `bon_de_commande` 
SET `updated_at` = '2024-01-01 00:00:00' 
WHERE `updated_at` = '0000-00-00 00:00:00' OR `updated_at` IS NULL;

-- Étape 3 : Modifier la colonne created_at pour avoir une valeur par défaut
ALTER TABLE `bon_de_commande` 
MODIFY COLUMN `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- Étape 4 : Modifier la colonne updated_at pour avoir une valeur par défaut et mise à jour automatique
ALTER TABLE `bon_de_commande` 
MODIFY COLUMN `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

-- Étape 5 : Ajouter AUTO_INCREMENT à la colonne id
-- Note: Si la colonne id est déjà PRIMARY KEY, ne pas rajouter le mot-clé PRIMARY KEY
ALTER TABLE `bon_de_commande` 
MODIFY COLUMN `id` BIGINT NOT NULL AUTO_INCREMENT;

-- Réactiver le mode SQL par défaut
SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- ========================================
-- VÉRIFICATION
-- ========================================
-- Vérifier la structure de la table :
-- SHOW COLUMNS FROM bon_de_commande;
--
-- Résultat attendu pour 'id' :
-- - Type: bigint
-- - Null: NO
-- - Key: PRI
-- - Extra: auto_increment
--
-- Résultat attendu pour 'created_at' :
-- - Type: timestamp
-- - Null: NO
-- - Default: CURRENT_TIMESTAMP
--
-- Résultat attendu pour 'updated_at' :
-- - Type: timestamp
-- - Null: NO
-- - Default: CURRENT_TIMESTAMP
-- - Extra: on update CURRENT_TIMESTAMP
-- ========================================

-- ========================================
-- INSTRUCTIONS D'EXÉCUTION
-- ========================================
-- 1. Se connecter au phpMyAdmin OVH
-- 2. Sélectionner la base crmgaujdev
-- 3. Aller dans l'onglet SQL
-- 4. Copier-coller ce script complet
-- 5. Cliquer sur "Exécuter"
-- 6. Répéter pour crmgaujprod
-- ========================================

