mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
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
51 lines
2.1 KiB
SQL
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
|
|
$$; |