Files
LogiFlow/migrations/002_add_dlc_stock_epuise.sql
T
michaelschal 785105814a Add stock depletion tracking for products
Introduce new columns to the products table to track stock depletion status, including who depleted it and when. This enhances product management by distinguishing between expired and out-of-stock items. This change includes database migrations, Docker updates, and deployment scripts to ensure a smooth rollout.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f9197b9b-a5b3-4469-a27d-930a9e9ee736
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/f9197b9b-a5b3-4469-a27d-930a9e9ee736/JKfj3tT
2025-08-18 09:29:31 +00:00

51 lines
2.1 KiB
SQL

-- Migration 002: Ajout des champs stock épuisé aux produits DLC
-- Date: 2025-08-18
-- Description: Ajoute la fonctionnalité de gestion du stock épuisé pour distinguer
-- les produits périmés des produits en rupture de stock
-- Vérification que la table dlc_products existe
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM information_schema.tables WHERE table_name = 'dlc_products') THEN
RAISE EXCEPTION 'La table dlc_products n''existe pas. Cette migration nécessite que la table soit déjà créée.';
END IF;
END
$$;
-- Ajout des nouveaux champs pour la gestion du stock épuisé
ALTER TABLE dlc_products
ADD COLUMN IF NOT EXISTS stock_epuise boolean DEFAULT false NOT NULL,
ADD COLUMN IF NOT EXISTS stock_epuise_by varchar(255),
ADD COLUMN IF NOT EXISTS stock_epuise_at timestamp;
-- Commentaires pour documenter les nouveaux champs
COMMENT ON COLUMN dlc_products.stock_epuise IS 'Indique si le produit est marqué comme stock épuisé (différent de périmé)';
COMMENT ON COLUMN dlc_products.stock_epuise_by IS 'ID de l''utilisateur qui a marqué le produit comme stock épuisé';
COMMENT ON COLUMN dlc_products.stock_epuise_at IS 'Date et heure de marquage du stock épuisé';
-- Index pour améliorer les performances sur les requêtes de stock épuisé
CREATE INDEX IF NOT EXISTS idx_dlc_products_stock_epuise ON dlc_products(stock_epuise);
-- Initialiser les produits existants avec stock disponible (pas épuisé)
-- Cette ligne est sécurisée car DEFAULT false est déjà appliqué
UPDATE dlc_products
SET stock_epuise = false
WHERE stock_epuise IS NULL;
-- Vérification finale
DO $$
DECLARE
column_count integer;
BEGIN
SELECT COUNT(*) INTO column_count
FROM information_schema.columns
WHERE table_name = 'dlc_products'
AND column_name IN ('stock_epuise', 'stock_epuise_by', 'stock_epuise_at');
IF column_count = 3 THEN
RAISE NOTICE 'Migration 002 réussie: % colonnes ajoutées à dlc_products', column_count;
ELSE
RAISE EXCEPTION 'Migration 002 échouée: seulement % colonnes trouvées sur 3 attendues', column_count;
END IF;
END
$$;