-- ================================================================================
-- Script de nettoyage complet des tables - DVA_GEO
-- ================================================================================
--
-- Ce script vide toutes les tables pour repartir à zéro.
-- ATTENTION : Toutes les données seront perdues !
--
-- Usage : À exécuter sur dva_geo UNIQUEMENT (environnement de développement)
--
-- ================================================================================

USE dva_geo;

-- Désactiver temporairement les vérifications de clés étrangères
SET FOREIGN_KEY_CHECKS = 0;

-- ================================================================================
-- 1. Tables dépendantes (dans l'ordre des dépendances)
-- ================================================================================

TRUNCATE TABLE ope_pass_histo;
TRUNCATE TABLE ope_pass;
TRUNCATE TABLE ope_users_sectors;
TRUNCATE TABLE sectors_adresses;
TRUNCATE TABLE ope_sectors;
TRUNCATE TABLE ope_users;
TRUNCATE TABLE medias;
TRUNCATE TABLE operations;

-- ================================================================================
-- 2. Tables liées aux utilisateurs
-- ================================================================================

TRUNCATE TABLE user_devices;

-- ================================================================================
-- 3. Tables de chat
-- ================================================================================

TRUNCATE TABLE chat_messages;
TRUNCATE TABLE chat_participants;
TRUNCATE TABLE chat_read_receipts;
TRUNCATE TABLE chat_rooms;

-- ================================================================================
-- 4. Tables principales
-- ================================================================================

TRUNCATE TABLE users;
TRUNCATE TABLE entites;

-- Réactiver les vérifications de clés étrangères
SET FOREIGN_KEY_CHECKS = 1;

-- ================================================================================
-- Vérification : Compter les lignes restantes
-- ================================================================================

SELECT
    'ope_pass_histo' AS table_name, COUNT(*) AS rows_count FROM ope_pass_histo
UNION ALL
SELECT 'ope_pass', COUNT(*) FROM ope_pass
UNION ALL
SELECT 'ope_users_sectors', COUNT(*) FROM ope_users_sectors
UNION ALL
SELECT 'sectors_adresses', COUNT(*) FROM sectors_adresses
UNION ALL
SELECT 'ope_sectors', COUNT(*) FROM ope_sectors
UNION ALL
SELECT 'ope_users', COUNT(*) FROM ope_users
UNION ALL
SELECT 'medias', COUNT(*) FROM medias
UNION ALL
SELECT 'operations', COUNT(*) FROM operations
UNION ALL
SELECT 'user_devices', COUNT(*) FROM user_devices
UNION ALL
SELECT 'chat_messages', COUNT(*) FROM chat_messages
UNION ALL
SELECT 'chat_participants', COUNT(*) FROM chat_participants
UNION ALL
SELECT 'chat_read_receipts', COUNT(*) FROM chat_read_receipts
UNION ALL
SELECT 'chat_rooms', COUNT(*) FROM chat_rooms
UNION ALL
SELECT 'users', COUNT(*) FROM users
UNION ALL
SELECT 'entites', COUNT(*) FROM entites
ORDER BY table_name;

-- Résultat attendu : 0 partout

SELECT '✓ Toutes les tables ont été vidées avec succès !' AS status;
