-- https://www.phpmyadmin.net/
--
-- Hôte : 127.0.0.1
-- Généré le : jeu. 12 mars 2026 à 21:47
-- Version du serveur : 10.4.32-MariaDB
-- Version de PHP : 8.0.30

START TRANSACTION;



--
-- Base de données : `economia`
--

-- --------------------------------------------------------

--
-- Structure de la table `actualites`
--

CREATE TABLE `actualites` (
  `id` int(10) UNSIGNED NOT NULL,
  `categorie_id` int(10) UNSIGNED DEFAULT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `contenu` text NOT NULL,
  `extrait` varchar(500) DEFAULT NULL,
  `zone` varchar(50) DEFAULT 'Afrique',
  `auteur_id` int(10) UNSIGNED DEFAULT NULL,
  `image_url` varchar(255) DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `source_nom` varchar(100) DEFAULT NULL,
  `source_url` varchar(255) DEFAULT NULL,
  `est_publie` tinyint(1) DEFAULT 0,
  `est_epingle` tinyint(1) DEFAULT 0,
  `nombre_vues` int(11) DEFAULT 0,
  `nombre_partages` int(11) DEFAULT 0,
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tags`)),
  `date_publication` datetime DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `adresses_utilisateurs`
--

CREATE TABLE `adresses_utilisateurs` (
  `id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `libelle` varchar(100) DEFAULT 'Adresse principale',
  `type_adresse` enum('livraison','facturation','les_deux') DEFAULT 'livraison',
  `adresse_complete` text NOT NULL,
  `ville` varchar(100) DEFAULT NULL,
  `region` varchar(100) DEFAULT NULL,
  `code_postal` varchar(10) DEFAULT NULL,
  `pays` varchar(3) DEFAULT 'CM',
  `telephone` varchar(20) DEFAULT NULL,
  `est_defaut` tinyint(1) DEFAULT 0,
  `latitude` decimal(10,8) DEFAULT NULL,
  `longitude` decimal(11,8) DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `avis_evaluations`
--

CREATE TABLE `avis_evaluations` (
  `id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `element_id` int(10) UNSIGNED NOT NULL,
  `type_element` enum('produit','service','vendeur','prestataire') NOT NULL,
  `commande_id` int(10) UNSIGNED DEFAULT NULL,
  `note` int(11) NOT NULL CHECK (`note` between 1 and 5),
  `titre` varchar(255) DEFAULT NULL,
  `commentaire` text DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `est_achat_verifie` tinyint(1) DEFAULT 0,
  `est_approuve` tinyint(1) DEFAULT 0,
  `nombre_utile` int(11) DEFAULT 0,
  `nombre_inutile` int(11) DEFAULT 0,
  `reponse_vendeur` text DEFAULT NULL,
  `date_reponse` datetime DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `bannieres_accueil`
--

CREATE TABLE `bannieres_accueil` (
  `id` int(10) UNSIGNED NOT NULL,
  `titre` varchar(255) NOT NULL,
  `sous_titre` varchar(255) DEFAULT NULL,
  `image_url` varchar(255) NOT NULL,
  `image_mobile_url` varchar(255) DEFAULT NULL,
  `lien_url` varchar(255) DEFAULT NULL,
  `lien_texte` varchar(50) DEFAULT NULL,
  `public_cible` enum('tous','client','fournisseur','investisseur') DEFAULT 'tous',
  `emplacement` varchar(50) DEFAULT 'accueil',
  `ordre_affichage` int(11) DEFAULT 0,
  `actif` tinyint(1) DEFAULT 1,
  `date_debut` date DEFAULT NULL,
  `date_fin` date DEFAULT NULL,
  `nombre_clics` int(11) DEFAULT 0,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `bannieres_accueil`
--

INSERT INTO `bannieres_accueil` (`id`, `titre`, `sous_titre`, `image_url`, `image_mobile_url`, `lien_url`, `lien_texte`, `public_cible`, `emplacement`, `ordre_affichage`, `actif`, `date_debut`, `date_fin`, `nombre_clics`, `date_creation`) VALUES
(1, '🎉 Promo de Lancement -20%', NULL, 'https://via.placeholder.com/1200x400?text=Promo+-20%', NULL, 'biens.php?promo=1', NULL, 'tous', 'accueil', 1, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:47:25'),
(2, '🚚 Livraison Gratuite > 50k FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Livraison+Gratuite', NULL, 'biens.php', NULL, 'tous', 'accueil', 2, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:47:25'),
(3, '💰 Investissez dès 10 000 FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Investissez', NULL, 'investisseur.php', NULL, 'investisseur', 'accueil', 3, 1, '2026-03-11', '2026-05-10', 0, '2026-03-11 20:47:25'),
(4, '🏭 Devenez Fournisseur', NULL, 'https://via.placeholder.com/1200x400?text=Devenez+Fournisseur', NULL, 'dashboard.php?tab=become_supplier', NULL, 'client', 'accueil', 4, 1, '2026-03-11', '2026-06-09', 0, '2026-03-11 20:47:25'),
(5, '🎉 Promo de Lancement -20%', NULL, 'https://via.placeholder.com/1200x400?text=Promo+-20%', NULL, 'biens.php?promo=1', NULL, 'tous', 'accueil', 1, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:48:38'),
(6, '🚚 Livraison Gratuite > 50k FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Livraison+Gratuite', NULL, 'biens.php', NULL, 'tous', 'accueil', 2, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:48:38'),
(7, '💰 Investissez dès 10 000 FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Investissez', NULL, 'investisseur.php', NULL, 'investisseur', 'accueil', 3, 1, '2026-03-11', '2026-05-10', 0, '2026-03-11 20:48:38'),
(8, '🏭 Devenez Fournisseur', NULL, 'https://via.placeholder.com/1200x400?text=Devenez+Fournisseur', NULL, 'dashboard.php?tab=become_supplier', NULL, 'client', 'accueil', 4, 1, '2026-03-11', '2026-06-09', 0, '2026-03-11 20:48:38'),
(9, '🎉 Promo de Lancement -20%', NULL, 'https://via.placeholder.com/1200x400?text=Promo+-20%', NULL, 'biens.php?promo=1', NULL, 'tous', 'accueil', 1, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:49:08'),
(10, '🚚 Livraison Gratuite > 50k FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Livraison+Gratuite', NULL, 'biens.php', NULL, 'tous', 'accueil', 2, 1, '2026-03-11', '2026-04-10', 0, '2026-03-11 20:49:08'),
(11, '💰 Investissez dès 10 000 FCFA', NULL, 'https://via.placeholder.com/1200x400?text=Investissez', NULL, 'investisseur.php', NULL, 'investisseur', 'accueil', 3, 1, '2026-03-11', '2026-05-10', 0, '2026-03-11 20:49:08'),
(12, '🏭 Devenez Fournisseur', NULL, 'https://via.placeholder.com/1200x400?text=Devenez+Fournisseur', NULL, 'dashboard.php?tab=become_supplier', NULL, 'client', 'accueil', 4, 1, '2026-03-11', '2026-06-09', 0, '2026-03-11 20:49:08');

-- --------------------------------------------------------

--
-- Structure de la table `categories`
--

CREATE TABLE `categories` (
  `id` int(10) UNSIGNED NOT NULL,
  `nom` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `description` text DEFAULT NULL,
  `parent_id` int(10) UNSIGNED DEFAULT NULL,
  `niveau` int(11) DEFAULT 1,
  `est_actif` tinyint(1) DEFAULT 1,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `categories_actualites`
--

CREATE TABLE `categories_actualites` (
  `id` int(10) UNSIGNED NOT NULL,
  `nom` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `description` text DEFAULT NULL,
  `ordre_affichage` int(11) DEFAULT 0,
  `actif` tinyint(1) DEFAULT 1,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `categories_produits`
--

CREATE TABLE `categories_produits` (
  `id` int(10) UNSIGNED NOT NULL,
  `nom` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `description` text DEFAULT NULL,
  `icone` varchar(10) DEFAULT NULL,
  `actif` tinyint(1) DEFAULT 1,
  `parent_id` int(10) UNSIGNED DEFAULT NULL,
  `niveau` int(11) DEFAULT 1,
  `ordre_affichage` int(11) DEFAULT 0,
  `est_actif` tinyint(1) DEFAULT 1,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `categories_produits`
--

INSERT INTO `categories_produits` (`id`, `nom`, `slug`, `description`, `icone`, `actif`, `parent_id`, `niveau`, `ordre_affichage`, `est_actif`, `date_creation`) VALUES
(1, 'Électronique', 'electronique', NULL, '📱', 1, NULL, 1, 1, 1, '2026-03-11 19:40:13'),
(2, 'Mode & Vêtements', 'mode', NULL, '👕', 1, NULL, 1, 2, 1, '2026-03-11 19:40:13'),
(3, 'Maison & Décoration', 'maison', NULL, '🏠', 1, NULL, 1, 3, 1, '2026-03-11 19:40:13'),
(4, 'Agriculture', 'agriculture', NULL, '🌾', 1, NULL, 1, 4, 1, '2026-03-11 19:40:13'),
(5, 'Art & Artisanat', 'art', NULL, '🎨', 1, NULL, 1, 5, 1, '2026-03-11 19:40:13'),
(6, 'Véhicules', 'vehicule', NULL, '🚗', 1, NULL, 1, 6, 1, '2026-03-11 19:40:13'),
(7, 'Santé & Beauté', 'sante', NULL, '💄', 1, NULL, 1, 7, 1, '2026-03-11 19:40:13'),
(8, 'Sports & Loisirs', 'sports', NULL, '⚽', 1, NULL, 1, 8, 1, '2026-03-11 19:40:13'),
(9, 'Informatique', 'informatique', NULL, '💻', 1, NULL, 1, 9, 1, '2026-03-11 19:40:13'),
(10, 'Alimentation', 'alimentation', NULL, '🍽️', 1, NULL, 1, 10, 1, '2026-03-11 19:40:13');

-- --------------------------------------------------------

--
-- Structure de la table `categories_services`
--

CREATE TABLE `categories_services` (
  `id` int(10) UNSIGNED NOT NULL,
  `nom` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `description` text DEFAULT NULL,
  `icone` varchar(10) DEFAULT NULL,
  `parent_id` int(10) UNSIGNED DEFAULT NULL,
  `niveau` int(11) DEFAULT 1,
  `ordre_affichage` int(11) DEFAULT 0,
  `est_actif` tinyint(1) DEFAULT 1,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `categories_services`
--

INSERT INTO `categories_services` (`id`, `nom`, `slug`, `description`, `icone`, `parent_id`, `niveau`, `ordre_affichage`, `est_actif`, `date_creation`) VALUES
(1, 'Transport & Livraison', 'transport', NULL, '🚚', NULL, 1, 1, 1, '2026-03-11 20:47:25'),
(2, 'Installation & Montage', 'installation', NULL, '🔧', NULL, 1, 2, 1, '2026-03-11 20:47:25'),
(3, 'Réparation', 'reparation', NULL, '🛠️', NULL, 1, 3, 1, '2026-03-11 20:47:25'),
(4, 'Conseil & Formation', 'conseil', NULL, '💼', NULL, 1, 4, 1, '2026-03-11 20:47:25'),
(5, 'Design & Graphisme', 'design', NULL, '🎨', NULL, 1, 5, 1, '2026-03-11 20:47:25');

-- --------------------------------------------------------

--
-- Structure de la table `codes_promo`
--

CREATE TABLE `codes_promo` (
  `id` int(10) UNSIGNED NOT NULL,
  `code` varchar(50) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `type_reduction` enum('pourcentage','montant_fixe') DEFAULT 'pourcentage',
  `valeur_reduction` decimal(10,2) NOT NULL,
  `montant_min_commande` decimal(10,2) DEFAULT 0.00,
  `montant_max_reduction` decimal(10,2) DEFAULT NULL,
  `nombre_utilisations_max` int(11) DEFAULT NULL,
  `nombre_utilisations` int(11) DEFAULT 0,
  `date_debut` datetime DEFAULT NULL,
  `date_fin` datetime DEFAULT NULL,
  `est_actif` tinyint(1) DEFAULT 1,
  `applicable_produits` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`applicable_produits`)),
  `applicable_categories` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`applicable_categories`)),
  `applicable_utilisateurs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`applicable_utilisateurs`)),
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `commandes`
--

CREATE TABLE `commandes` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `numero_commande` varchar(20) DEFAULT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `vendeur_id` int(10) UNSIGNED DEFAULT NULL,
  `montant_total` decimal(12,2) NOT NULL,
  `frais_livraison` decimal(10,2) DEFAULT 0.00,
  `frais_service` decimal(10,2) DEFAULT 0.00,
  `reduction` decimal(10,2) DEFAULT 0.00,
  `montant_final` decimal(12,2) NOT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `statut` enum('en_attente','confirme','paye','expedie','livre','annule','rembourse') DEFAULT 'en_attente',
  `statut_paiement` enum('non_paye','en_attente','paye','echoue','rembourse') DEFAULT 'non_paye',
  `methode_paiement` varchar(50) DEFAULT 'mobile_money',
  `reference_paiement` varchar(100) DEFAULT NULL,
  `adresse_livraison` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`adresse_livraison`)),
  `ville` varchar(100) DEFAULT NULL,
  `code_postal` varchar(10) DEFAULT NULL,
  `pays` varchar(3) DEFAULT 'CM',
  `telephone_livraison` varchar(20) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `notes_vendeur` text DEFAULT NULL,
  `date_commande` datetime DEFAULT current_timestamp(),
  `date_paiement` datetime DEFAULT NULL,
  `date_expedition` datetime DEFAULT NULL,
  `date_livraison` datetime DEFAULT NULL,
  `date_annulation` datetime DEFAULT NULL,
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `commandes`
--

INSERT INTO `commandes` (`id`, `uuid`, `numero_commande`, `utilisateur_id`, `vendeur_id`, `montant_total`, `frais_livraison`, `frais_service`, `reduction`, `montant_final`, `devise`, `statut`, `statut_paiement`, `methode_paiement`, `reference_paiement`, `adresse_livraison`, `ville`, `code_postal`, `pays`, `telephone_livraison`, `notes`, `notes_vendeur`, `date_commande`, `date_paiement`, `date_expedition`, `date_livraison`, `date_annulation`, `date_modification`) VALUES
(1, 'd19375dd-bc25-4075-b842-88f3a68748ad', NULL, 61, NULL, 360000.00, 2500.00, 0.00, 0.00, 362500.00, 'XAF', 'en_attente', 'non_paye', 'cash', NULL, '{\"adresse\":\"AWAE EWANKANG BP45480\",\"ville\":\"Yaounde\",\"telephone\":\"690424015\",\"paiement\":\"cash\",\"details\":[]}', NULL, NULL, 'CM', NULL, 'Commande ECONOMIA', NULL, '2026-03-12 19:32:16', NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table `contenu_mis_en_avant`
--

CREATE TABLE `contenu_mis_en_avant` (
  `id` int(10) UNSIGNED NOT NULL,
  `section` varchar(50) NOT NULL,
  `type_contenu` enum('produit','service','fournisseur','actualite','enchere') NOT NULL,
  `element_id` int(10) UNSIGNED NOT NULL,
  `ordre_affichage` int(11) DEFAULT 0,
  `mis_en_avant_jusqu_a` date DEFAULT NULL,
  `est_actif` tinyint(1) DEFAULT 1,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `contenu_mis_en_avant`
--

INSERT INTO `contenu_mis_en_avant` (`id`, `section`, `type_contenu`, `element_id`, `ordre_affichage`, `mis_en_avant_jusqu_a`, `est_actif`, `date_creation`) VALUES
(1, 'produits_populaires', 'produit', 1, 1, '2026-09-11', 1, '2026-03-11 20:49:08'),
(2, 'produits_populaires', 'produit', 5, 2, '2026-09-11', 1, '2026-03-11 20:49:08'),
(3, 'produits_populaires', 'produit', 11, 3, '2026-09-11', 1, '2026-03-11 20:49:08'),
(4, 'services_populaires', 'service', 1, 1, '2026-09-11', 1, '2026-03-11 20:49:08'),
(5, 'services_populaires', 'service', 5, 2, '2026-09-11', 1, '2026-03-11 20:49:08'),
(6, 'fournisseurs_premium', 'fournisseur', 2, 1, '2026-09-11', 1, '2026-03-11 20:49:08'),
(7, 'fournisseurs_premium', 'fournisseur', 3, 2, '2026-09-11', 1, '2026-03-11 20:49:08'),
(8, 'fournisseurs_premium', 'fournisseur', 4, 3, '2026-09-11', 1, '2026-03-11 20:49:08');

-- --------------------------------------------------------

--
-- Structure de la table `conversations`
--

CREATE TABLE `conversations` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `contact_id` int(10) UNSIGNED NOT NULL,
  `type_conversation` enum('privee','support','groupe') DEFAULT 'privee',
  `dernier_apercu` varchar(255) DEFAULT NULL,
  `dernier_message` datetime DEFAULT NULL,
  `dernier_message_id` int(10) UNSIGNED DEFAULT NULL,
  `non_lu_utilisateur` int(11) DEFAULT 0,
  `non_lu_contact` int(11) DEFAULT 0,
  `est_archivee_utilisateur` tinyint(1) DEFAULT 0,
  `est_archivee_contact` tinyint(1) DEFAULT 0,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `conversations`
--

INSERT INTO `conversations` (`id`, `uuid`, `utilisateur_id`, `contact_id`, `type_conversation`, `dernier_apercu`, `dernier_message`, `dernier_message_id`, `non_lu_utilisateur`, `non_lu_contact`, `est_archivee_utilisateur`, `est_archivee_contact`, `date_creation`, `date_modification`) VALUES
(3, '34424fd4-f214-478d-8534-4e6c402cca68', 61, 1, 'privee', 'bsr', '2026-03-12 15:52:15', NULL, 0, 1, 0, 0, '2026-03-11 20:40:39', '2026-03-12 15:52:15'),
(4, 'a82d3cab-4d3a-49d8-bbef-e72445f4fe64', 61, 2, 'privee', 'salut', '2026-03-11 21:05:31', NULL, 0, 3, 0, 0, '2026-03-11 21:05:20', '2026-03-11 21:05:31'),
(5, '3703fd6f-1ffe-48b9-90f9-3def6062d79c', 99, 1, 'privee', 'Bjr', '2026-03-12 05:26:50', NULL, 0, 1, 0, 0, '2026-03-12 05:26:50', '2026-03-12 05:26:50'),
(6, '23021ee1-2217-475e-aaab-0f989b4123ef', 61, 99, 'privee', 'oui', '2026-03-12 05:27:41', NULL, 0, 1, 0, 0, '2026-03-12 05:27:41', '2026-03-12 05:27:41'),
(7, '5c42a3bc-6b65-4250-8784-8176c78f50ae', 102, 98, 'privee', 'salut', '2026-03-12 10:54:31', NULL, 0, 1, 0, 0, '2026-03-12 10:54:31', '2026-03-12 10:54:31'),
(8, '8518edd1-c57c-4a5f-8f49-dab122307814', 61, 98, 'privee', 'salut', '2026-03-12 14:52:06', NULL, 0, 1, 0, 0, '2026-03-12 14:52:06', '2026-03-12 14:52:06');

-- --------------------------------------------------------

--
-- Structure de la table `details_commande`
--

CREATE TABLE `details_commande` (
  `id` int(10) UNSIGNED NOT NULL,
  `commande_id` int(10) UNSIGNED NOT NULL,
  `element_id` int(10) UNSIGNED NOT NULL,
  `type_element` enum('produit','service') NOT NULL,
  `titre_element` varchar(255) NOT NULL,
  `quantite` int(11) NOT NULL,
  `prix_unitaire` decimal(10,2) NOT NULL,
  `prix_total` decimal(10,2) NOT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `options_personnalisees` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`options_personnalisees`)),
  `statut_livraison` enum('en_attente','expedie','livre','annule') DEFAULT 'en_attente',
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `details_commande`
--

INSERT INTO `details_commande` (`id`, `commande_id`, `element_id`, `type_element`, `titre_element`, `quantite`, `prix_unitaire`, `prix_total`, `devise`, `options_personnalisees`, `statut_livraison`, `date_creation`) VALUES
(1, 1, 28, 'produit', '', 30, 12000.00, 360000.00, 'XAF', NULL, 'en_attente', '2026-03-12 19:32:16');

-- --------------------------------------------------------

--
-- Structure de la table `encheres`
--

CREATE TABLE `encheres` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `vendeur_id` int(10) UNSIGNED NOT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `description_courte` varchar(255) DEFAULT NULL,
  `categorie` varchar(50) DEFAULT 'general',
  `prix_depart` decimal(12,2) NOT NULL,
  `prix_actuel` decimal(12,2) NOT NULL,
  `increment_min` decimal(10,2) DEFAULT 1000.00,
  `prix_reserve` decimal(12,2) DEFAULT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `date_debut` datetime NOT NULL,
  `date_fin` datetime NOT NULL,
  `statut` enum('active','terminee','annulee','en_attente') DEFAULT 'en_attente',
  `gagnant_id` int(10) UNSIGNED DEFAULT NULL,
  `image_url` varchar(255) DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `nombre_vues` int(11) DEFAULT 0,
  `nombre_offres` int(11) DEFAULT 0,
  `vendeur_verifie` tinyint(1) DEFAULT 0,
  `conditions` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`conditions`)),
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `favoris`
--

CREATE TABLE `favoris` (
  `id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `element_id` int(10) UNSIGNED NOT NULL,
  `type_element` enum('produit','service','enchere','actualite') NOT NULL,
  `date_ajout` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `investissements`
--

CREATE TABLE `investissements` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `projet_id` int(10) UNSIGNED NOT NULL,
  `montant` decimal(15,2) NOT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `rendement_attendu` decimal(15,2) NOT NULL,
  `methode_paiement` varchar(50) DEFAULT 'mobile_money',
  `reference_paiement` varchar(100) DEFAULT NULL,
  `statut_paiement` enum('en_attente','complete','echoue','rembourse') DEFAULT 'en_attente',
  `date_echeance` date NOT NULL,
  `date_paiement` datetime DEFAULT NULL,
  `date_remboursement` datetime DEFAULT NULL,
  `rendement_reel` decimal(15,2) DEFAULT NULL,
  `note_investisseur` text DEFAULT NULL,
  `statut` enum('actif','mature','rembourse','annule','en_retard') DEFAULT 'actif',
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `journal_admin`
--

CREATE TABLE `journal_admin` (
  `id` int(10) UNSIGNED NOT NULL,
  `admin_id` int(10) UNSIGNED NOT NULL,
  `action` varchar(50) NOT NULL,
  `table_cible` varchar(50) DEFAULT NULL,
  `element_id` int(10) UNSIGNED DEFAULT NULL,
  `utilisateur_cible_id` int(10) UNSIGNED DEFAULT NULL,
  `details` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`details`)),
  `adresse_ip` varchar(45) DEFAULT NULL,
  `user_agent` varchar(255) DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `lignes_commande`
--

CREATE TABLE `lignes_commande` (
  `id` int(10) UNSIGNED NOT NULL,
  `commande_id` int(10) UNSIGNED NOT NULL,
  `produit_id` int(10) UNSIGNED NOT NULL,
  `quantite` int(11) NOT NULL,
  `prix_unitaire` decimal(10,2) NOT NULL,
  `sous_total` decimal(12,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `messages`
--

CREATE TABLE `messages` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `conversation_id` int(10) UNSIGNED NOT NULL,
  `expediteur_id` int(10) UNSIGNED NOT NULL,
  `destinataire_id` int(10) UNSIGNED NOT NULL,
  `contenu` text NOT NULL,
  `type_message` enum('texte','image','fichier','audio','video','devis','commande') DEFAULT 'texte',
  `piece_jointe_url` varchar(255) DEFAULT NULL,
  `piece_jointe_nom` varchar(255) DEFAULT NULL,
  `piece_jointe_taille` int(11) DEFAULT NULL,
  `est_lu` tinyint(1) DEFAULT 0,
  `est_supprime_expediteur` tinyint(1) DEFAULT 0,
  `est_supprime_destinataire` tinyint(1) DEFAULT 0,
  `statut` enum('envoye','delivre','lu','echoue') DEFAULT 'envoye',
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_lu` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `messages`
--

INSERT INTO `messages` (`id`, `uuid`, `conversation_id`, `expediteur_id`, `destinataire_id`, `contenu`, `type_message`, `piece_jointe_url`, `piece_jointe_nom`, `piece_jointe_taille`, `est_lu`, `est_supprime_expediteur`, `est_supprime_destinataire`, `statut`, `date_creation`, `date_lu`) VALUES
(1, '38ff3118-1a5a-47e7-b0ef-052df07a5fc6', 3, 61, 1, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-11 20:40:39', NULL),
(2, '60d4cbb3-defd-4444-b7da-af2d0850dab4', 3, 61, 1, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-11 20:40:43', NULL),
(3, 'd5ef743d-6a9c-43b5-a44b-0480eb911a66', 4, 61, 2, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-11 21:05:20', NULL),
(4, 'f7366b03-8f36-475e-8ddf-9930175a2cb5', 4, 61, 2, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-11 21:05:26', NULL),
(5, '311bf1d7-4d21-439f-b1a1-62762af200d0', 4, 61, 2, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-11 21:05:31', NULL),
(6, '1f74946e-0bc9-4ceb-b4d8-e32481f40a1b', 5, 99, 1, 'Bjr', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-12 05:26:50', NULL),
(7, '9df00d94-0766-48a9-a9de-2bd44e42536c', 6, 61, 99, 'oui', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-12 05:27:41', NULL),
(8, 'd66557e0-d4a5-4e37-bd7e-d5a169ac5799', 7, 102, 98, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-12 10:54:31', NULL),
(9, '7e4dca2d-7874-4323-b5ea-bdb7bb8873e4', 8, 61, 98, 'salut', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-12 14:52:06', NULL),
(10, 'f72e7ad5-e47d-469a-84c0-88ac000210da', 3, 61, 1, 'bsr', 'texte', NULL, NULL, NULL, 0, 0, 0, 'envoye', '2026-03-12 15:52:15', NULL);

-- --------------------------------------------------------

--
-- Structure de la table `notifications`
--

CREATE TABLE `notifications` (
  `id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `type_notification` enum('commande','message','systeme','promo','investissement','enchere') NOT NULL,
  `titre` varchar(255) NOT NULL,
  `message` text DEFAULT NULL,
  `lien_url` varchar(255) DEFAULT NULL,
  `element_id` int(10) UNSIGNED DEFAULT NULL,
  `type_element` varchar(50) DEFAULT NULL,
  `est_lu` tinyint(1) DEFAULT 0,
  `est_archive` tinyint(1) DEFAULT 0,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_lu` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `offres_encheres`
--

CREATE TABLE `offres_encheres` (
  `id` int(10) UNSIGNED NOT NULL,
  `enchere_id` int(10) UNSIGNED NOT NULL,
  `encherisseur_id` int(10) UNSIGNED NOT NULL,
  `montant` decimal(12,2) NOT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `est_valide` tinyint(1) DEFAULT 1,
  `raison_invalidation` varchar(255) DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `parametres_plateforme`
--

CREATE TABLE `parametres_plateforme` (
  `id` int(11) NOT NULL,
  `nom_site` varchar(100) DEFAULT 'ÉCONOMIA',
  `email_contact` varchar(255) DEFAULT NULL,
  `telephone_contact` varchar(20) DEFAULT NULL,
  `adresse_siege` text DEFAULT NULL,
  `devise_principale` varchar(3) DEFAULT 'XAF',
  `taux_change` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`taux_change`)),
  `frais_plateforme` decimal(5,2) DEFAULT 5.00,
  `frais_retrait` decimal(5,2) DEFAULT 2.00,
  `montant_min_retrait` decimal(10,2) DEFAULT 5000.00,
  `montant_max_retrait` decimal(10,2) DEFAULT 1000000.00,
  `delai_validation_paiement` int(11) DEFAULT 24,
  `maintenance_mode` tinyint(1) DEFAULT 0,
  `message_maintenance` text DEFAULT NULL,
  `date_modification` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `parametres_plateforme`
--

INSERT INTO `parametres_plateforme` (`id`, `nom_site`, `email_contact`, `telephone_contact`, `adresse_siege`, `devise_principale`, `taux_change`, `frais_plateforme`, `frais_retrait`, `montant_min_retrait`, `montant_max_retrait`, `delai_validation_paiement`, `maintenance_mode`, `message_maintenance`, `date_modification`) VALUES
(1, 'ÉCONOMIA', NULL, NULL, NULL, 'XAF', NULL, 5.00, 2.00, 5000.00, 1000000.00, 24, 0, NULL, '2026-03-11 15:47:16');

-- --------------------------------------------------------

--
-- Structure de la table `portfolio_investisseur`
--

CREATE TABLE `portfolio_investisseur` (
  `id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `total_investi` decimal(15,2) DEFAULT 0.00,
  `total_rembourse` decimal(15,2) DEFAULT 0.00,
  `gains_realises` decimal(15,2) DEFAULT 0.00,
  `investissements_actifs` int(11) DEFAULT 0,
  `investissements_terminees` int(11) DEFAULT 0,
  `taux_rendement_moyen` decimal(5,2) DEFAULT 0.00,
  `niveau_investisseur` enum('bronze','argent','or','platine','premium') DEFAULT 'bronze',
  `dernier_investissement` datetime DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `produits`
--

CREATE TABLE `produits` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `vendeur_id` int(10) UNSIGNED NOT NULL,
  `categorie_id` int(10) UNSIGNED NOT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `description_courte` varchar(255) DEFAULT NULL,
  `prix` decimal(10,2) NOT NULL,
  `prix_original` decimal(10,2) DEFAULT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `quantite_min_commande` int(11) DEFAULT 1,
  `quantite_stock` int(11) DEFAULT 0,
  `statut_stock` enum('en_stock','rupture','bientot') DEFAULT 'en_stock',
  `image_url` varchar(255) DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `pays_origine` varchar(3) DEFAULT 'CN',
  `est_verifie` tinyint(1) DEFAULT 0,
  `est_premium` tinyint(1) DEFAULT 0,
  `note_moyenne` decimal(3,2) DEFAULT 3.00,
  `nombre_avis` int(11) DEFAULT 0,
  `nombre_ventes` int(11) DEFAULT 0,
  `nombre_vues` int(11) DEFAULT 0,
  `statut` enum('actif','inactif','supprime','brouillon') DEFAULT 'brouillon',
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tags`)),
  `caracteristiques` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`caracteristiques`)),
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `produits`
--

INSERT INTO `produits` (`id`, `uuid`, `vendeur_id`, `categorie_id`, `titre`, `slug`, `description`, `description_courte`, `prix`, `prix_original`, `devise`, `quantite_min_commande`, `quantite_stock`, `statut_stock`, `image_url`, `images_json`, `pays_origine`, `est_verifie`, `est_premium`, `note_moyenne`, `nombre_avis`, `nombre_ventes`, `nombre_vues`, `statut`, `tags`, `caracteristiques`, `date_creation`, `date_modification`) VALUES
(3, '20baa9e4-1d83-11f1-8ad6-8c164537de71', 2, 1, 'Smartphone Samsung Galaxy A54 5G', 'samsung-galaxy-a54', 'Smartphone dernier cri avec écran AMOLED 6.4\", 128GB de stockage, appareil photo 50MP, batterie 5000mAh.', 'Smartphone Samsung Galaxy A54 5G - 128GB', 185000.00, 220000.00, 'XAF', 10, 500, 'en_stock', 'https://via.placeholder.com/300x200?text=Samsung+A54', NULL, 'CN', 1, 1, 4.50, 128, 450, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(4, '20baea29-1d83-11f1-8ad6-8c164537de71', 2, 1, 'Écouteurs Bluetooth Sans Fil Pro', 'ecouteurs-bluetooth-pro', 'Écouteurs sans fil avec réduction de bruit active, autonomie 30h, étanches IPX7.', 'Écouteurs Bluetooth Pro - Réduction de bruit', 45000.00, 60000.00, 'XAF', 50, 1000, 'en_stock', 'https://via.placeholder.com/300x200?text=Ecouteurs+Pro', NULL, 'CN', 1, 0, 4.30, 89, 320, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(5, '20baee89-1d83-11f1-8ad6-8c164537de71', 2, 1, 'Montre Connectée Smart Watch X8', 'montre-connectee-x8', 'Montre connectée avec écran tactile 1.85\", suivi santé, notifications, étanche.', 'Montre Connectée X8 - Suivi santé', 35000.00, 50000.00, 'XAF', 20, 800, 'en_stock', 'https://via.placeholder.com/300x200?text=Smart+Watch', NULL, 'CN', 0, 0, 4.10, 56, 180, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(6, '20baf16f-1d83-11f1-8ad6-8c164537de71', 2, 1, 'Power Bank 20000mAh Rapide', 'power-bank-20000mah', 'Batterie externe haute capacité avec charge rapide 22.5W, 2 ports USB.', 'Power Bank 20000mAh - Charge rapide', 25000.00, 35000.00, 'XAF', 30, 1500, 'en_stock', 'https://via.placeholder.com/300x200?text=Power+Bank', NULL, 'CN', 1, 0, 4.60, 234, 890, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(7, '20baf416-1d83-11f1-8ad6-8c164537de71', 2, 9, 'Ordinateur Portable HP 15.6\"', 'laptop-hp-156', 'Laptop HP 15.6\" Full HD, Intel Core i5, 8GB RAM, 256GB SSD.', 'Laptop HP 15.6\" - Core i5', 285000.00, 350000.00, 'XAF', 5, 150, 'en_stock', 'https://via.placeholder.com/300x200?text=Laptop+HP', NULL, 'US', 1, 1, 4.70, 67, 95, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(8, '20baf6ac-1d83-11f1-8ad6-8c164537de71', 4, 2, 'T-Shirt Coton Bio Premium', 'tshirt-coton-bio', 'T-shirt 100% coton biologique, disponible en plusieurs couleurs.', 'T-Shirt Coton Bio - Multi-coloris', 8500.00, 12000.00, 'XAF', 100, 5000, 'en_stock', 'https://via.placeholder.com/300x200?text=T-Shirt+Bio', NULL, 'CM', 1, 0, 4.40, 156, 1200, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(9, '20baf93b-1d83-11f1-8ad6-8c164537de71', 4, 2, 'Jeans Denim Homme Classique', 'jeans-denim-homme', 'Jean homme coupe classique, denim stretch confortable, 5 poches.', 'Jeans Denim Homme - Coupe classique', 15000.00, 20000.00, 'XAF', 50, 2000, 'en_stock', 'https://via.placeholder.com/300x200?text=Jeans+Homme', NULL, 'TR', 0, 0, 4.20, 89, 650, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(10, '20bafbc4-1d83-11f1-8ad6-8c164537de71', 4, 2, 'Robe Africaine Wax Traditionnelle', 'robe-wax-traditionnelle', 'Robe longue en tissu wax authentique, motifs traditionnels africains.', 'Robe Wax Africaine - Fait main', 25000.00, 35000.00, 'XAF', 20, 800, 'en_stock', 'https://via.placeholder.com/300x200?text=Robe+Wax', NULL, 'CM', 1, 1, 4.80, 234, 890, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(11, '20bafe5e-1d83-11f1-8ad6-8c164537de71', 4, 2, 'Sac à Main Cuir Véritable', 'sac-cuir-veritable', 'Sac artisanal en cuir véritable, fabrication locale, qualité premium.', 'Sac Cuir Véritable - Artisanal', 45000.00, 65000.00, 'XAF', 10, 300, 'en_stock', 'https://via.placeholder.com/300x200?text=Sac+Cuir', NULL, 'CM', 1, 1, 4.60, 178, 420, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(12, '20bb00e5-1d83-11f1-8ad6-8c164537de71', 4, 2, 'Chaussures de Sport Running', 'chaussures-sport-running', 'Chaussures de running légères, semelle amortissante, respirantes.', 'Chaussures Running - Légères', 22000.00, 30000.00, 'XAF', 30, 1200, 'en_stock', 'https://via.placeholder.com/300x200?text=Running', NULL, 'VN', 0, 0, 4.30, 112, 560, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(13, '20bb038d-1d83-11f1-8ad6-8c164537de71', 3, 3, 'Set de Casseroles Inox 5 Pièces', 'set-casseroles-inox', 'Set complet 5 casseroles en acier inoxydable, tous feux dont induction.', 'Set Casseroles Inox - 5 pièces', 55000.00, 75000.00, 'XAF', 10, 400, 'en_stock', 'https://via.placeholder.com/300x200?text=Casseroles', NULL, 'CN', 1, 0, 4.50, 145, 380, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(14, '20bb0623-1d83-11f1-8ad6-8c164537de71', 3, 3, 'Lampe LED Bureau Rechargeable', 'lampe-led-bureau', 'Lampe de bureau LED rechargeable, 3 niveaux d\'intensité, bras flexible.', 'Lampe LED Bureau - Rechargeable', 18000.00, 25000.00, 'XAF', 20, 900, 'en_stock', 'https://via.placeholder.com/300x200?text=Lampe+LED', NULL, 'CN', 0, 0, 4.20, 78, 290, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(15, '20bb08c6-1d83-11f1-8ad6-8c164537de71', 3, 3, 'Coussins Décoratifs Africains', 'coussins-decoratifs-africains', 'Lot de 2 coussins avec motifs africains traditionnels, tissu wax.', 'Coussins Africains - Motifs wax', 12000.00, 18000.00, 'XAF', 50, 1500, 'en_stock', 'https://via.placeholder.com/300x200?text=Coussins', NULL, 'CM', 1, 0, 4.70, 189, 720, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(16, '20bb0b55-1d83-11f1-8ad6-8c164537de71', 3, 3, 'Tapis de Salon Moderne', 'tapis-salon-moderne', 'Tapis de salon design moderne, antidérapant, facile à nettoyer. 160x230cm.', 'Tapis Salon Moderne - 160x230cm', 35000.00, 50000.00, 'XAF', 5, 200, 'en_stock', 'https://via.placeholder.com/300x200?text=Tapis', NULL, 'TR', 0, 0, 4.40, 67, 150, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(17, '20bb0dd9-1d83-11f1-8ad6-8c164537de71', 9, 4, 'Semences de Maïs Hybride', 'semences-mais-hybride', 'Semences de maïs hybride haute productivité, résistance aux maladies. Sac de 10kg.', 'Semences Maïs - Sac 10kg', 35000.00, 45000.00, 'XAF', 20, 500, 'en_stock', 'https://via.placeholder.com/300x200?text=Semences+Mais', NULL, 'CM', 1, 1, 4.60, 89, 340, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(18, '20bb1077-1d83-11f1-8ad6-8c164537de71', 9, 4, 'Engrais Organique Bio 25kg', 'engrais-organique-bio', 'Engrais 100% organique certifié bio, enrichi en nutriments. Sac de 25kg.', 'Engrais Bio - Sac 25kg', 28000.00, 38000.00, 'XAF', 30, 800, 'en_stock', 'https://via.placeholder.com/300x200?text=Engrais+Bio', NULL, 'CM', 1, 0, 4.50, 156, 520, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(19, '20bb1431-1d83-11f1-8ad6-8c164537de71', 9, 4, 'Pulvérisateur Agricole 20L', 'pulverisateur-agricole', 'Pulvérisateur à dos 20L, pompe manuelle, buses interchangeables.', 'Pulvérisateur 20L - Pompe manuelle', 22000.00, 30000.00, 'XAF', 10, 350, 'en_stock', 'https://via.placeholder.com/300x200?text=Pulverisateur', NULL, 'CN', 0, 0, 4.30, 67, 180, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(20, '20bb16d2-1d83-11f1-8ad6-8c164537de71', 9, 4, 'Miel Pur Naturel 1L', 'miel-pur-naturel', 'Miel 100% pur des ruches locales, non pasteurisé. Bouteille de 1L.', 'Miel Pur Naturel - 1L', 8500.00, 12000.00, 'XAF', 50, 2000, 'en_stock', 'https://via.placeholder.com/300x200?text=Miel+Pur', NULL, 'CM', 1, 1, 4.80, 234, 890, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(21, '20bb1970-1d83-11f1-8ad6-8c164537de71', 2, 5, 'Masque Africain Sculpté', 'masque-africain-sculpte', 'Masque traditionnel africain sculpté à la main, bois d\'ébène.', 'Masque Africain - Sculpté main', 35000.00, 50000.00, 'XAF', 5, 100, 'en_stock', 'https://via.placeholder.com/300x200?text=Masque+Africain', NULL, 'CM', 1, 1, 4.90, 78, 120, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(22, '20bb1c00-1d83-11f1-8ad6-8c164537de71', 2, 5, 'Paniers Tressés Artisanaux', 'paniers-tresses-artisanat', 'Lot de 3 paniers tressés à la main, fibres naturelles.', 'Paniers Tressés - Lot de 3', 18000.00, 25000.00, 'XAF', 20, 600, 'en_stock', 'https://via.placeholder.com/300x200?text=Paniers', NULL, 'CM', 1, 0, 4.60, 145, 450, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(23, '20bb1eb7-1d83-11f1-8ad6-8c164537de71', 2, 5, 'Bijoux Perles Africaines', 'bijoux-perles-africaines', 'Collier et boucles d\'oreilles en perles africaines authentiques.', 'Bijoux Perles - Fait main', 15000.00, 22000.00, 'XAF', 30, 800, 'en_stock', 'https://via.placeholder.com/300x200?text=Bijoux+Perles', NULL, 'SN', 0, 0, 4.40, 112, 380, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(24, '20bb2134-1d83-11f1-8ad6-8c164537de71', 3, 6, 'Pneus Auto 205/55 R16', 'pneus-auto-205-55', 'Jeu de 4 pneus toutes saisons, excellente adhérence. 205/55 R16.', 'Pneus Auto 205/55 R16 - Jeu de 4', 85000.00, 110000.00, 'XAF', 4, 200, 'en_stock', 'https://via.placeholder.com/300x200?text=Pneus+Auto', NULL, 'FR', 1, 0, 4.50, 89, 150, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(25, '20bb23c7-1d83-11f1-8ad6-8c164537de71', 3, 6, 'Batterie Voiture 12V 60Ah', 'batterie-voiture-12v', 'Batterie automobile 12V 60Ah, démarrage puissant.', 'Batterie Auto 12V 60Ah', 45000.00, 60000.00, 'XAF', 10, 400, 'en_stock', 'https://via.placeholder.com/300x200?text=Batterie+Auto', NULL, 'CN', 0, 0, 4.30, 67, 280, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(26, '20bb265d-1d83-11f1-8ad6-8c164537de71', 3, 6, 'Kit Entretien Auto Complet', 'kit-entretien-auto', 'Kit complet entretien voiture : huile moteur, filtres, liquides.', 'Kit Entretien Auto - Complet', 35000.00, 50000.00, 'XAF', 20, 600, 'en_stock', 'https://via.placeholder.com/300x200?text=Kit+Auto', NULL, 'FR', 1, 0, 4.60, 134, 420, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(27, '20bb28f1-1d83-11f1-8ad6-8c164537de71', 4, 7, 'Savon Noir Africain Naturel', 'savon-noir-africain', 'Savon noir traditionnel 100% naturel, huile de palme et karité. Lot de 5.', 'Savon Noir Africain - Lot de 5', 8500.00, 12000.00, 'XAF', 50, 3000, 'en_stock', 'https://via.placeholder.com/300x200?text=Savon+Noir', NULL, 'CM', 1, 1, 4.70, 289, 1200, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(28, '20bb2b7f-1d83-11f1-8ad6-8c164537de71', 4, 7, 'Beurre de Karité Pur 500g', 'beurre-karite-pur', 'Beurre de karité 100% pur et naturel, non raffiné. Pot de 500g.', 'Beurre de Karité Pur - 500g', 12000.00, 18000.00, 'XAF', 30, 1470, 'en_stock', 'https://via.placeholder.com/300x200?text=Karite', NULL, 'CM', 1, 0, 4.80, 345, 980, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', '2026-03-12 19:32:16'),
(29, '20bb2e04-1d83-11f1-8ad6-8c164537de71', 4, 7, 'Huile Essentielle Lavande 30ml', 'huile-essentielle-lavande', 'Huile essentielle de lavande vraie 100% pure, bio.', 'Huile Lavande Bio - 30ml', 9500.00, 14000.00, 'XAF', 40, 2000, 'en_stock', 'https://via.placeholder.com/300x200?text=Huile+Lavande', NULL, 'FR', 0, 0, 4.50, 167, 560, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(30, '20bb3083-1d83-11f1-8ad6-8c164537de71', 3, 8, 'Ballon de Football Pro', 'ballon-football-pro', 'Ballon de football taille 5, qualité professionnelle.', 'Ballon Football Pro - Taille 5', 15000.00, 22000.00, 'XAF', 20, 800, 'en_stock', 'https://via.placeholder.com/300x200?text=Ballon+Foot', NULL, 'CN', 1, 0, 4.40, 123, 450, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(31, '20bb3301-1d83-11f1-8ad6-8c164537de71', 3, 8, 'Tapis de Yoga Antidérapant', 'tapis-yoga-antiderapant', 'Tapis de yoga 6mm d\'épaisseur, antidérapant, avec sac.', 'Tapis Yoga - 6mm antidérapant', 18000.00, 25000.00, 'XAF', 15, 600, 'en_stock', 'https://via.placeholder.com/300x200?text=Tapis+Yoga', NULL, 'CN', 0, 0, 4.30, 89, 320, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(32, '20bb358b-1d83-11f1-8ad6-8c164537de71', 3, 8, 'Haltères Réglables 2x5kg', 'halteres-reglables-5kg', 'Paire d\'haltères réglables 2x5kg, revêtement néoprène.', 'Haltères Réglables - 2x5kg', 25000.00, 35000.00, 'XAF', 10, 400, 'en_stock', 'https://via.placeholder.com/300x200?text=Halteres', NULL, 'CN', 0, 0, 4.20, 67, 180, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(33, '20bb3a02-1d83-11f1-8ad6-8c164537de71', 9, 10, 'Café Arabica Moulu 500g', 'cafe-arabica-moulu', 'Café arabica 100% pur, torréfaction artisanale. Sachet de 500g.', 'Café Arabica - 500g', 12000.00, 15000.00, 'XAF', 50, 1000, 'en_stock', 'https://via.placeholder.com/300x200?text=Cafe', NULL, 'CM', 1, 0, 4.60, 178, 650, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(34, '20bb4431-1d83-11f1-8ad6-8c164537de71', 9, 10, 'Thé Vert Bio 100 Sachets', 'the-vert-bio', 'Thé vert biologique, sachets individuels. Boîte de 100.', 'Thé Vert Bio - 100 sachets', 8000.00, 10000.00, 'XAF', 100, 2000, 'en_stock', 'https://via.placeholder.com/300x200?text=The+Vert', NULL, 'CN', 1, 0, 4.40, 234, 890, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(35, '20bb4788-1d83-11f1-8ad6-8c164537de71', 9, 10, 'Huile d\'Olive Vierge 1L', 'huile-olive-vierge', 'Huile d\'olive vierge extra, première pression à froid.', 'Huile d\'Olive - 1L', 15000.00, 20000.00, 'XAF', 30, 500, 'en_stock', 'https://via.placeholder.com/300x200?text=Huile+Olive', NULL, 'FR', 1, 1, 4.70, 156, 420, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL);

-- --------------------------------------------------------

--
-- Structure de la table `projets_investissement`
--

CREATE TABLE `projets_investissement` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `porteur_id` int(10) UNSIGNED NOT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `description_courte` varchar(255) DEFAULT NULL,
  `categorie` varchar(50) DEFAULT 'general',
  `secteur` varchar(50) DEFAULT NULL,
  `montant_cible` decimal(15,2) NOT NULL,
  `montant_collecte` decimal(15,2) DEFAULT 0.00,
  `investissement_min` decimal(10,2) DEFAULT 10000.00,
  `investissement_max` decimal(15,2) DEFAULT NULL,
  `taux_rendement` decimal(5,2) DEFAULT 15.00,
  `duree_mois` int(11) DEFAULT 12,
  `niveau_risque` enum('faible','moyen','eleve','tres_eleve') DEFAULT 'moyen',
  `indice_confiance` decimal(3,2) DEFAULT 3.00,
  `nombre_investisseurs` int(11) DEFAULT 0,
  `date_debut` date DEFAULT NULL,
  `date_fin` date DEFAULT NULL,
  `statut` enum('brouillon','en_cours','complet','annule','suspendu') DEFAULT 'brouillon',
  `image_url` varchar(255) DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `documents_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`documents_json`)),
  `mise_a_jour_text` text DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `referral_logs`
--

CREATE TABLE `referral_logs` (
  `id` int(11) NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `action` enum('click','signup','share','purchase') NOT NULL,
  `platform` varchar(50) DEFAULT 'unknown',
  `referred_user_id` int(10) UNSIGNED DEFAULT NULL,
  `amount` decimal(10,2) DEFAULT 0.00,
  `date_log` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `referral_logs`
--

INSERT INTO `referral_logs` (`id`, `user_id`, `action`, `platform`, `referred_user_id`, `amount`, `date_log`) VALUES
(1, 61, 'share', 'whatsapp', NULL, 0.00, '2026-03-11 22:11:11'),
(2, 101, 'share', 'whatsapp', NULL, 0.00, '2026-03-12 09:02:22');

-- --------------------------------------------------------

--
-- Structure de la table `reponses_forum`
--

CREATE TABLE `reponses_forum` (
  `id` int(10) UNSIGNED NOT NULL,
  `sujet_id` int(10) UNSIGNED NOT NULL,
  `auteur_id` int(10) UNSIGNED DEFAULT NULL,
  `auteur_nom` varchar(100) NOT NULL,
  `contenu` text NOT NULL,
  `est_meilleure_reponse` tinyint(1) DEFAULT 0,
  `nombre_jaime` int(11) DEFAULT 0,
  `nombre_signalements` int(11) DEFAULT 0,
  `parent_id` int(10) UNSIGNED DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `services`
--

CREATE TABLE `services` (
  `id` int(10) UNSIGNED NOT NULL,
  `uuid` varchar(36) NOT NULL,
  `prestataire_id` int(10) UNSIGNED NOT NULL,
  `categorie_id` int(10) UNSIGNED NOT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `description_courte` varchar(255) DEFAULT NULL,
  `prix` decimal(10,2) NOT NULL,
  `devise` varchar(3) DEFAULT 'XAF',
  `delai_livraison` varchar(50) DEFAULT '3-5 jours',
  `image_url` varchar(255) DEFAULT NULL,
  `images_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`images_json`)),
  `est_verifie` tinyint(1) DEFAULT 0,
  `est_premium` tinyint(1) DEFAULT 0,
  `note_moyenne` decimal(3,2) DEFAULT 3.00,
  `nombre_reservations` int(11) DEFAULT 0,
  `nombre_vues` int(11) DEFAULT 0,
  `statut` enum('actif','inactif','supprime','brouillon') DEFAULT 'brouillon',
  `competences` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`competences`)),
  `disponibilites` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`disponibilites`)),
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `services`
--

INSERT INTO `services` (`id`, `uuid`, `prestataire_id`, `categorie_id`, `titre`, `slug`, `description`, `description_courte`, `prix`, `devise`, `delai_livraison`, `image_url`, `images_json`, `est_verifie`, `est_premium`, `note_moyenne`, `nombre_reservations`, `nombre_vues`, `statut`, `competences`, `disponibilites`, `date_creation`, `date_modification`) VALUES
(1, '20cb1faf-1d83-11f1-8ad6-8c164537de71', 2, 2, 'Installation Climatiseurs', 'installation-climatiseurs', 'Installation professionnelle de climatiseurs split et centraux.', NULL, 50000.00, 'XAF', '2-3 jours', 'https://via.placeholder.com/300x200?text=Climatiseur', NULL, 1, 1, 4.80, 45, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(2, '20cb56b8-1d83-11f1-8ad6-8c164537de71', 2, 3, 'Réparation Ordinateurs', 'reparation-ordinateurs', 'Réparation tous types d\'ordinateurs : PC, Mac, portables.', NULL, 25000.00, 'XAF', '1-2 jours', 'https://via.placeholder.com/300x200?text=PC+Repair', NULL, 1, 0, 4.50, 78, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(3, '20cb58b7-1d83-11f1-8ad6-8c164537de71', 3, 1, 'Livraison Express Douala', 'livraison-express-douala', 'Livraison rapide dans tout Douala. Colis jusqu\'à 50kg.', NULL, 5000.00, 'XAF', '24h', 'https://via.placeholder.com/300x200?text=Livraison', NULL, 1, 0, 4.30, 156, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(4, '20cb59d9-1d83-11f1-8ad6-8c164537de71', 3, 4, 'Formation Informatique', 'formation-informatique', 'Formation bureautique, programmation, réseaux. Certifiant.', NULL, 150000.00, 'XAF', '1 mois', 'https://via.placeholder.com/300x200?text=Formation', NULL, 1, 1, 4.70, 34, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(5, '20cb5a9d-1d83-11f1-8ad6-8c164537de71', 4, 5, 'Création Logo & Identité', 'creation-logo-identite', 'Création de logo et charte graphique complète.', NULL, 75000.00, 'XAF', '5-7 jours', 'https://via.placeholder.com/300x200?text=Logo+Design', NULL, 1, 1, 4.90, 67, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(6, '20cb5b56-1d83-11f1-8ad6-8c164537de71', 4, 3, 'Réparation Électroménager', 'reparation-electromenager', 'Réparation réfrigérateurs, lave-linges, fours.', NULL, 30000.00, 'XAF', '2-4 jours', 'https://via.placeholder.com/300x200?text=Electro', NULL, 0, 0, 4.20, 89, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(7, '20cb5c07-1d83-11f1-8ad6-8c164537de71', 9, 1, 'Transport Marchandises', 'transport-marchandises', 'Transport de marchandises partout au Cameroun.', NULL, 100000.00, 'XAF', '3-5 jours', 'https://via.placeholder.com/300x200?text=Transport', NULL, 1, 0, 4.40, 23, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(8, '20cb5cba-1d83-11f1-8ad6-8c164537de71', 9, 4, 'Conseil Agricole', 'conseil-agricole', 'Conseils et accompagnement pour projets agricoles.', NULL, 50000.00, 'XAF', '1 semaine', 'https://via.placeholder.com/300x200?text=Conseil+Agri', NULL, 1, 1, 4.60, 12, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(9, '20cb5d68-1d83-11f1-8ad6-8c164537de71', 2, 5, 'Design Site Web', 'design-site-web', 'Création de sites web vitrines et e-commerce.', NULL, 250000.00, 'XAF', '2-3 semaines', 'https://via.placeholder.com/300x200?text=Web+Design', NULL, 1, 1, 4.80, 28, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL),
(10, '20cb5e21-1d83-11f1-8ad6-8c164537de71', 3, 2, 'Montage Meubles', 'montage-meubles', 'Montage de meubles IKEA et autres.', NULL, 15000.00, 'XAF', '1-2 jours', 'https://via.placeholder.com/300x200?text=Meubles', NULL, 0, 0, 4.10, 56, 0, 'actif', NULL, NULL, '2026-03-11 20:47:25', NULL);

-- --------------------------------------------------------

--
-- Structure de la table `statistiques_plateforme`
--

CREATE TABLE `statistiques_plateforme` (
  `id` int(11) NOT NULL,
  `total_utilisateurs` int(11) DEFAULT 0,
  `utilisateurs_actifs` int(11) DEFAULT 0,
  `fournisseurs_actifs` int(11) DEFAULT 0,
  `total_produits` int(11) DEFAULT 0,
  `total_services` int(11) DEFAULT 0,
  `total_investissements` decimal(15,2) DEFAULT 0.00,
  `total_commandes` int(11) DEFAULT 0,
  `chiffre_affaires` decimal(15,2) DEFAULT 0.00,
  `nombre_pays` int(11) DEFAULT 1,
  `date_modification` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `statistiques_plateforme`
--

INSERT INTO `statistiques_plateforme` (`id`, `total_utilisateurs`, `utilisateurs_actifs`, `fournisseurs_actifs`, `total_produits`, `total_services`, `total_investissements`, `total_commandes`, `chiffre_affaires`, `nombre_pays`, `date_modification`) VALUES
(1, 9, 0, 5, 30, 10, 0.00, 0, 0.00, 5, '2026-03-11 20:49:08');

-- --------------------------------------------------------

--
-- Structure de la table `sujets_forum`
--

CREATE TABLE `sujets_forum` (
  `id` int(10) UNSIGNED NOT NULL,
  `auteur_id` int(10) UNSIGNED DEFAULT NULL,
  `auteur_nom` varchar(100) NOT NULL,
  `titre` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `contenu` text NOT NULL,
  `categorie` varchar(50) DEFAULT 'general',
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tags`)),
  `est_epingle` tinyint(1) DEFAULT 0,
  `est_verrouille` tinyint(1) DEFAULT 0,
  `est_resolu` tinyint(1) DEFAULT 0,
  `nombre_vues` int(11) DEFAULT 0,
  `nombre_reponses` int(11) DEFAULT 0,
  `nombre_jaime` int(11) DEFAULT 0,
  `nombre_signalements` int(11) DEFAULT 0,
  `derniere_reponse_id` int(10) UNSIGNED DEFAULT NULL,
  `derniere_reponse_date` datetime DEFAULT NULL,
  `date_creation` datetime DEFAULT current_timestamp(),
  `date_modification` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `utilisations_codes_promo`
--

CREATE TABLE `utilisations_codes_promo` (
  `id` int(10) UNSIGNED NOT NULL,
  `code_promo_id` int(10) UNSIGNED NOT NULL,
  `utilisateur_id` int(10) UNSIGNED NOT NULL,
  `commande_id` int(10) UNSIGNED DEFAULT NULL,
  `montant_economise` decimal(10,2) NOT NULL,
  `date_utilisation` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Index pour les tables déchargées
--

--
-- Index pour la table `actualites`
--
ALTER TABLE `actualites`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `auteur_id` (`auteur_id`),
  ADD KEY `idx_publie` (`est_publie`,`date_publication`),
  ADD KEY `idx_categorie` (`categorie_id`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `adresses_utilisateurs`
--
ALTER TABLE `adresses_utilisateurs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`),
  ADD KEY `idx_defaut` (`est_defaut`);

--
-- Index pour la table `avis_evaluations`
--
ALTER TABLE `avis_evaluations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_avis` (`utilisateur_id`,`element_id`,`type_element`,`commande_id`),
  ADD KEY `commande_id` (`commande_id`),
  ADD KEY `idx_element` (`element_id`,`type_element`),
  ADD KEY `idx_note` (`note`);

--
-- Index pour la table `bannieres_accueil`
--
ALTER TABLE `bannieres_accueil`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_actif` (`actif`),
  ADD KEY `idx_emplacement` (`emplacement`);

--
-- Index pour la table `categories`
--
ALTER TABLE `categories`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_parent` (`parent_id`);

--
-- Index pour la table `categories_actualites`
--
ALTER TABLE `categories_actualites`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `categories_produits`
--
ALTER TABLE `categories_produits`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_parent` (`parent_id`);

--
-- Index pour la table `categories_services`
--
ALTER TABLE `categories_services`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_parent` (`parent_id`);

--
-- Index pour la table `codes_promo`
--
ALTER TABLE `codes_promo`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `code` (`code`),
  ADD KEY `idx_code` (`code`),
  ADD KEY `idx_actif` (`est_actif`);

--
-- Index pour la table `commandes`
--
ALTER TABLE `commandes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `numero_commande` (`numero_commande`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`),
  ADD KEY `idx_vendeur` (`vendeur_id`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_uuid` (`uuid`),
  ADD KEY `idx_numero` (`numero_commande`);

--
-- Index pour la table `contenu_mis_en_avant`
--
ALTER TABLE `contenu_mis_en_avant`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_mis_en_avant` (`section`,`type_contenu`,`element_id`),
  ADD KEY `idx_section` (`section`);

--
-- Index pour la table `conversations`
--
ALTER TABLE `conversations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `unique_conversation` (`utilisateur_id`,`contact_id`,`type_conversation`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`),
  ADD KEY `idx_contact` (`contact_id`);

--
-- Index pour la table `details_commande`
--
ALTER TABLE `details_commande`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_commande` (`commande_id`),
  ADD KEY `idx_element` (`element_id`,`type_element`);

--
-- Index pour la table `encheres`
--
ALTER TABLE `encheres`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `vendeur_id` (`vendeur_id`),
  ADD KEY `gagnant_id` (`gagnant_id`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_date_fin` (`date_fin`),
  ADD KEY `idx_categorie` (`categorie`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `favoris`
--
ALTER TABLE `favoris`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_favori` (`utilisateur_id`,`element_id`,`type_element`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`),
  ADD KEY `idx_type` (`type_element`);

--
-- Index pour la table `investissements`
--
ALTER TABLE `investissements`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`),
  ADD KEY `idx_projet` (`projet_id`),
  ADD KEY `idx_statut` (`statut`);

--
-- Index pour la table `journal_admin`
--
ALTER TABLE `journal_admin`
  ADD PRIMARY KEY (`id`),
  ADD KEY `utilisateur_cible_id` (`utilisateur_cible_id`),
  ADD KEY `idx_admin` (`admin_id`),
  ADD KEY `idx_action` (`action`),
  ADD KEY `idx_date` (`date_creation`);

--
-- Index pour la table `lignes_commande`
--
ALTER TABLE `lignes_commande`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_commande` (`commande_id`),
  ADD KEY `idx_produit` (`produit_id`);

--
-- Index pour la table `messages`
--
ALTER TABLE `messages`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD KEY `expediteur_id` (`expediteur_id`),
  ADD KEY `idx_conversation` (`conversation_id`),
  ADD KEY `idx_destinataire` (`destinataire_id`,`est_lu`),
  ADD KEY `idx_date` (`date_creation`);

--
-- Index pour la table `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`,`est_lu`),
  ADD KEY `idx_date` (`date_creation`);

--
-- Index pour la table `offres_encheres`
--
ALTER TABLE `offres_encheres`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_enchere` (`enchere_id`),
  ADD KEY `idx_encherisseur` (`encherisseur_id`),
  ADD KEY `idx_montant` (`montant`);

--
-- Index pour la table `parametres_plateforme`
--
ALTER TABLE `parametres_plateforme`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `portfolio_investisseur`
--
ALTER TABLE `portfolio_investisseur`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `utilisateur_id` (`utilisateur_id`),
  ADD KEY `idx_niveau` (`niveau_investisseur`);

--
-- Index pour la table `produits`
--
ALTER TABLE `produits`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_vendeur` (`vendeur_id`),
  ADD KEY `idx_categorie` (`categorie_id`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_prix` (`prix`);

--
-- Index pour la table `projets_investissement`
--
ALTER TABLE `projets_investissement`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `porteur_id` (`porteur_id`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_categorie` (`categorie`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `referral_logs`
--
ALTER TABLE `referral_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user` (`user_id`),
  ADD KEY `idx_action` (`action`),
  ADD KEY `idx_date` (`date_log`),
  ADD KEY `idx_referred` (`referred_user_id`);

--
-- Index pour la table `reponses_forum`
--
ALTER TABLE `reponses_forum`
  ADD PRIMARY KEY (`id`),
  ADD KEY `parent_id` (`parent_id`),
  ADD KEY `idx_sujet` (`sujet_id`),
  ADD KEY `idx_auteur` (`auteur_id`);

--
-- Index pour la table `services`
--
ALTER TABLE `services`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uuid` (`uuid`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_prestataire` (`prestataire_id`),
  ADD KEY `idx_categorie` (`categorie_id`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `statistiques_plateforme`
--
ALTER TABLE `statistiques_plateforme`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `sujets_forum`
--
ALTER TABLE `sujets_forum`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `auteur_id` (`auteur_id`),
  ADD KEY `idx_categorie` (`categorie`),
  ADD KEY `idx_date` (`date_creation`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `utilisations_codes_promo`
--
ALTER TABLE `utilisations_codes_promo`
  ADD PRIMARY KEY (`id`),
  ADD KEY `commande_id` (`commande_id`),
  ADD KEY `idx_code` (`code_promo_id`),
  ADD KEY `idx_utilisateur` (`utilisateur_id`);

--
-- AUTO_INCREMENT pour les tables déchargées
--

--
-- AUTO_INCREMENT pour la table `actualites`
--
ALTER TABLE `actualites`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `adresses_utilisateurs`
--
ALTER TABLE `adresses_utilisateurs`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `avis_evaluations`
--
ALTER TABLE `avis_evaluations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `bannieres_accueil`
--
ALTER TABLE `bannieres_accueil`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT pour la table `categories`
--
ALTER TABLE `categories`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `categories_actualites`
--
ALTER TABLE `categories_actualites`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `categories_produits`
--
ALTER TABLE `categories_produits`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32;

--
-- AUTO_INCREMENT pour la table `categories_services`
--
ALTER TABLE `categories_services`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `codes_promo`
--
ALTER TABLE `codes_promo`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `commandes`
--
ALTER TABLE `commandes`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `contenu_mis_en_avant`
--
ALTER TABLE `contenu_mis_en_avant`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT pour la table `conversations`
--
ALTER TABLE `conversations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT pour la table `details_commande`
--
ALTER TABLE `details_commande`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `encheres`
--
ALTER TABLE `encheres`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `favoris`
--
ALTER TABLE `favoris`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `investissements`
--
ALTER TABLE `investissements`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `journal_admin`
--
ALTER TABLE `journal_admin`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `lignes_commande`
--
ALTER TABLE `lignes_commande`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `messages`
--
ALTER TABLE `messages`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT pour la table `notifications`
--
ALTER TABLE `notifications`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `offres_encheres`
--
ALTER TABLE `offres_encheres`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `portfolio_investisseur`
--
ALTER TABLE `portfolio_investisseur`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `produits`
--
ALTER TABLE `produits`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=36;

--
-- AUTO_INCREMENT pour la table `projets_investissement`
--
ALTER TABLE `projets_investissement`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `referral_logs`
--
ALTER TABLE `referral_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT pour la table `reponses_forum`
--
ALTER TABLE `reponses_forum`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `services`
--
ALTER TABLE `services`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT pour la table `sujets_forum`
--
ALTER TABLE `sujets_forum`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `utilisations_codes_promo`
--
ALTER TABLE `utilisations_codes_promo`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- Contraintes pour les tables déchargées
--

--
-- Contraintes pour la table `actualites`
--
ALTER TABLE `actualites`
  ADD CONSTRAINT `actualites_ibfk_1` FOREIGN KEY (`categorie_id`) REFERENCES `categories_actualites` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `actualites_ibfk_2` FOREIGN KEY (`auteur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `adresses_utilisateurs`
--
ALTER TABLE `adresses_utilisateurs`
  ADD CONSTRAINT `adresses_utilisateurs_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `avis_evaluations`
--
ALTER TABLE `avis_evaluations`
  ADD CONSTRAINT `avis_evaluations_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `avis_evaluations_ibfk_2` FOREIGN KEY (`commande_id`) REFERENCES `commandes` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `categories`
--
ALTER TABLE `categories`
  ADD CONSTRAINT `categories_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `categories_produits`
--
ALTER TABLE `categories_produits`
  ADD CONSTRAINT `categories_produits_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `categories_produits` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `categories_services`
--
ALTER TABLE `categories_services`
  ADD CONSTRAINT `categories_services_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `categories_services` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `commandes`
--
ALTER TABLE `commandes`
  ADD CONSTRAINT `commandes_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `commandes_ibfk_2` FOREIGN KEY (`vendeur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `conversations`
--
ALTER TABLE `conversations`
  ADD CONSTRAINT `conversations_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `conversations_ibfk_2` FOREIGN KEY (`contact_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `details_commande`
--
ALTER TABLE `details_commande`
  ADD CONSTRAINT `details_commande_ibfk_1` FOREIGN KEY (`commande_id`) REFERENCES `commandes` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `encheres`
--
ALTER TABLE `encheres`
  ADD CONSTRAINT `encheres_ibfk_1` FOREIGN KEY (`vendeur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `encheres_ibfk_2` FOREIGN KEY (`gagnant_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `favoris`
--
ALTER TABLE `favoris`
  ADD CONSTRAINT `favoris_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `investissements`
--
ALTER TABLE `investissements`
  ADD CONSTRAINT `investissements_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `investissements_ibfk_2` FOREIGN KEY (`projet_id`) REFERENCES `projets_investissement` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `journal_admin`
--
ALTER TABLE `journal_admin`
  ADD CONSTRAINT `journal_admin_ibfk_1` FOREIGN KEY (`admin_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `journal_admin_ibfk_2` FOREIGN KEY (`utilisateur_cible_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `lignes_commande`
--
ALTER TABLE `lignes_commande`
  ADD CONSTRAINT `lignes_commande_ibfk_1` FOREIGN KEY (`commande_id`) REFERENCES `commandes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `lignes_commande_ibfk_2` FOREIGN KEY (`produit_id`) REFERENCES `produits` (`id`);

--
-- Contraintes pour la table `messages`
--
ALTER TABLE `messages`
  ADD CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`conversation_id`) REFERENCES `conversations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `messages_ibfk_2` FOREIGN KEY (`expediteur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `messages_ibfk_3` FOREIGN KEY (`destinataire_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `notifications`
--
ALTER TABLE `notifications`
  ADD CONSTRAINT `notifications_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `offres_encheres`
--
ALTER TABLE `offres_encheres`
  ADD CONSTRAINT `offres_encheres_ibfk_1` FOREIGN KEY (`enchere_id`) REFERENCES `encheres` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `offres_encheres_ibfk_2` FOREIGN KEY (`encherisseur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `portfolio_investisseur`
--
ALTER TABLE `portfolio_investisseur`
  ADD CONSTRAINT `portfolio_investisseur_ibfk_1` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `produits`
--
ALTER TABLE `produits`
  ADD CONSTRAINT `produits_ibfk_1` FOREIGN KEY (`vendeur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `produits_ibfk_2` FOREIGN KEY (`categorie_id`) REFERENCES `categories_produits` (`id`);

--
-- Contraintes pour la table `projets_investissement`
--
ALTER TABLE `projets_investissement`
  ADD CONSTRAINT `projets_investissement_ibfk_1` FOREIGN KEY (`porteur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `referral_logs`
--
ALTER TABLE `referral_logs`
  ADD CONSTRAINT `fk_referral_referred` FOREIGN KEY (`referred_user_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `fk_referral_user` FOREIGN KEY (`user_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `reponses_forum`
--
ALTER TABLE `reponses_forum`
  ADD CONSTRAINT `reponses_forum_ibfk_1` FOREIGN KEY (`sujet_id`) REFERENCES `sujets_forum` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `reponses_forum_ibfk_2` FOREIGN KEY (`auteur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `reponses_forum_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `reponses_forum` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `services`
--
ALTER TABLE `services`
  ADD CONSTRAINT `services_ibfk_1` FOREIGN KEY (`prestataire_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `services_ibfk_2` FOREIGN KEY (`categorie_id`) REFERENCES `categories_services` (`id`);

--
-- Contraintes pour la table `sujets_forum`
--
ALTER TABLE `sujets_forum`
  ADD CONSTRAINT `sujets_forum_ibfk_1` FOREIGN KEY (`auteur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `utilisations_codes_promo`
--
ALTER TABLE `utilisations_codes_promo`
  ADD CONSTRAINT `utilisations_codes_promo_ibfk_1` FOREIGN KEY (`code_promo_id`) REFERENCES `codes_promo` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `utilisations_codes_promo_ibfk_2` FOREIGN KEY (`utilisateur_id`) REFERENCES `utilisateurs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `utilisations_codes_promo_ibfk_3` FOREIGN KEY (`commande_id`) REFERENCES `commandes` (`id`) ON DELETE SET NULL;
COMMIT;

