-- =====================================================================
-- Arche du Pain - Migration : unites + gestion stock
-- =====================================================================

SET NAMES utf8mb4;

-- =====================================================================
-- TABLE : acp_unites
-- =====================================================================
DROP TABLE IF EXISTS acp_unites;
CREATE TABLE acp_unites (
    id_unit         INT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
    label_unit      VARCHAR(50)     NOT NULL,
    PRIMARY KEY (id_unit),
    UNIQUE KEY uk_unit_label (label_unit)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO acp_unites (id_unit, label_unit) VALUES
    (1, 'pièce'),
    (2, 'kilo'),
    (3, '100 gr'),
    (4, 'bouteille 20 cl'),
    (5, 'bouteille 50 cl'),
    (6, 'bouteille 75 cl'),
    (7, 'bouteille 1 L');

-- =====================================================================
-- ALTER TABLE : acp_produit
-- Ajout id_unit (FK vers acp_unites) et qte_dispo
-- =====================================================================

-- id_unit : par defaut "piece" (id 1) pour la compatibilite avec les produits existants
ALTER TABLE acp_produit
    ADD COLUMN id_unit INT(4) UNSIGNED NOT NULL DEFAULT 1 AFTER id_categ,
    ADD COLUMN qte_dispo INT(4) NOT NULL DEFAULT 0 AFTER prix,
    ADD KEY idx_prod_unit (id_unit),
    ADD CONSTRAINT fk_prod_unit FOREIGN KEY (id_unit)
        REFERENCES acp_unites (id_unit)
        ON DELETE RESTRICT ON UPDATE CASCADE;

-- =====================================================================
-- ALTER TABLE : acp_detail_commandes
-- Snapshot de l'unite au moment de la commande
-- =====================================================================
ALTER TABLE acp_detail_commandes
    ADD COLUMN unit_snap VARCHAR(50) NULL AFTER label_prod_snap;

-- =====================================================================
-- TRADUCTIONS associees
-- =====================================================================
INSERT INTO acp_traductions (cle_trad, langue, valeur, contexte) VALUES
    ('catalogue.rupture',     'FR', 'Rupture de stock',                        'catalogue'),
    ('catalogue.stock_limite','FR', 'Plus que {n} disponible(s)',              'catalogue'),
    ('catalogue.unite',       'FR', 'Unite',                                   'catalogue'),
    ('erreur.stock_insuffisant', 'FR', 'Stock insuffisant pour {produit}',     'erreur')
ON DUPLICATE KEY UPDATE valeur = VALUES(valeur);
