mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Add missing stock status columns and documentation for DLC products
Add `stock_epuise`, `stock_epuise_by`, and `stock_epuise_at` columns to the `dlc_products` table, including SQL migration scripts and production deployment instructions to resolve a missing column error. 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/i2gFnxm
This commit is contained in:
1 parent
43776944cb
commit
f55a7a6217
2 files changed
+117
No files matched your search
@@ -0,0 +1,57 @@
|
||||
# MIGRATION PRODUCTION URGENTE - DLC Stock Épuisé
|
||||
|
||||
## Problème
|
||||
```
|
||||
Error: column dlc_products.stock_epuise does not exist
|
||||
```
|
||||
|
||||
## Solution Rapide
|
||||
|
||||
### Option 1: Migration SQL directe
|
||||
```bash
|
||||
# Connectez-vous à votre base PostgreSQL de production
|
||||
psql -h [VOTRE_HOST] -U [VOTRE_USER] -d [VOTRE_DB] -f MIGRATION_PRODUCTION_URGENTE.sql
|
||||
```
|
||||
|
||||
### Option 2: Commandes manuelles
|
||||
```sql
|
||||
-- Connectez-vous à votre base et exécutez :
|
||||
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;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_dlc_products_stock_epuise ON dlc_products(stock_epuise);
|
||||
```
|
||||
|
||||
### Option 3: Via Docker (si vous utilisez notre docker-compose)
|
||||
```bash
|
||||
# Sur votre serveur de production
|
||||
./scripts/production-deploy-dlc-stock.sh
|
||||
```
|
||||
|
||||
## Vérification après migration
|
||||
```sql
|
||||
SELECT EXISTS (
|
||||
SELECT FROM information_schema.columns
|
||||
WHERE table_name='dlc_products'
|
||||
AND column_name='stock_epuise'
|
||||
);
|
||||
```
|
||||
|
||||
Résultat attendu: `t` (true)
|
||||
|
||||
## Redémarrage application
|
||||
Après la migration, redémarrez votre application :
|
||||
```bash
|
||||
# Si Docker
|
||||
docker-compose restart logiflow
|
||||
|
||||
# Ou selon votre setup
|
||||
systemctl restart votre-service
|
||||
```
|
||||
|
||||
## Vérification fonctionnelle
|
||||
1. L'erreur "column does not exist" doit disparaître
|
||||
2. L'interface DLC doit afficher les boutons PackageX et RotateCcw
|
||||
3. Les fonctionnalités stock épuisé doivent être opérationnelles
|
||||
@@ -0,0 +1,60 @@
|
||||
-- MIGRATION URGENTE PRODUCTION - DLC Stock Épuisé
|
||||
-- Date: 2025-08-18
|
||||
-- À exécuter sur votre serveur de production privé
|
||||
|
||||
-- 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 'ERREUR: La table dlc_products n''existe pas';
|
||||
END IF;
|
||||
RAISE NOTICE 'OK: Table dlc_products trouvée';
|
||||
END
|
||||
$$;
|
||||
|
||||
-- Vérification des colonnes existantes avant migration
|
||||
SELECT 'AVANT MIGRATION - Colonnes actuelles:' as status;
|
||||
SELECT column_name FROM information_schema.columns
|
||||
WHERE table_name = 'dlc_products'
|
||||
AND column_name IN ('stock_epuise', 'stock_epuise_by', 'stock_epuise_at')
|
||||
ORDER BY column_name;
|
||||
|
||||
-- Migration sécurisée - Ajout des colonnes DLC 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
|
||||
CREATE INDEX IF NOT EXISTS idx_dlc_products_stock_epuise ON dlc_products(stock_epuise);
|
||||
|
||||
-- Initialiser tous les produits existants comme stock disponible
|
||||
UPDATE dlc_products
|
||||
SET stock_epuise = false
|
||||
WHERE stock_epuise IS NULL;
|
||||
|
||||
-- Vérification finale
|
||||
SELECT 'APRÈS MIGRATION - Vérification:' as status;
|
||||
SELECT
|
||||
column_name,
|
||||
data_type,
|
||||
is_nullable,
|
||||
column_default
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'dlc_products'
|
||||
AND column_name IN ('stock_epuise', 'stock_epuise_by', 'stock_epuise_at')
|
||||
ORDER BY column_name;
|
||||
|
||||
-- Statistiques après migration
|
||||
SELECT
|
||||
COUNT(*) as total_produits,
|
||||
COUNT(CASE WHEN stock_epuise = true THEN 1 END) as stock_epuise,
|
||||
COUNT(CASE WHEN stock_epuise = false THEN 1 END) as stock_disponible
|
||||
FROM dlc_products;
|
||||
|
||||
SELECT 'MIGRATION TERMINÉE AVEC SUCCÈS' as status;
|
||||
Reference in new issue
Block a user