mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-23 06:58:19 +02:00
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
This commit is contained in:
1 parent
20f7c977ff
commit
785105814a
5 files changed
+362
No files matched your search
@@ -0,0 +1,51 @@
|
||||
-- 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
|
||||
$$;
|
||||
Reference in new issue
Block a user