Files
LogiFlow/INSTRUCTIONS_DEPLOYMENT.md
T
michaelschal d45d3562ba Created a checkpoint
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: e437ffed-c31b-44eb-9fd5-b6f9faa8e7ce
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/e437ffed-c31b-44eb-9fd5-b6f9faa8e7ce/biGr9ER
2025-08-16 11:40:57 +00:00

108 lines
3.0 KiB
Markdown

# 🚀 Instructions de Déploiement avec Migration Automatique
## Vue d'ensemble
Le système est maintenant configuré pour exécuter automatiquement les migrations de base de données lors de chaque mise à jour Docker, garantissant que toutes les tables nécessaires sont créées.
## 🔧 Configuration Automatique
### Scripts créés
1. **`scripts/auto-migrate-production.sh`** - Migration automatique au démarrage
2. **`scripts/docker-entrypoint.sh`** - Point d'entrée avec migration
3. **`scripts/manual-migrate.sh`** - Migration manuelle si nécessaire
### Dockerfile modifié
- Copie automatique des scripts de migration
- Point d'entrée personnalisé avec migration
- Permissions configurées automatiquement
## 🚀 Déploiement
### Option 1: Reconstruction complète (Recommandée)
```bash
# Arrêter le conteneur actuel
docker-compose down
# Reconstruire avec les nouveaux scripts
docker-compose up --build -d
# Vérifier les logs de migration
docker-compose logs -f
```
### Option 2: Mise à jour sans reconstruction
```bash
# Copier les scripts dans le conteneur existant
docker cp scripts/ logiflow-logiflow-1:/app/
# Exécuter la migration manuellement
docker exec logiflow-logiflow-1 chmod +x /app/scripts/auto-migrate-production.sh
docker exec logiflow-logiflow-1 /app/scripts/auto-migrate-production.sh
# Redémarrer l'application
docker-compose restart
```
## 🔍 Vérification
### Logs de migration
```bash
# Voir les logs de migration au démarrage
docker-compose logs | grep "AUTO-MIGRATE"
```
### État des tables
```bash
# Vérifier que toutes les tables existent
docker exec logiflow-logiflow-1 psql $DATABASE_URL -c "
SELECT tablename
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY tablename;
"
```
### Test du système d'annonces
```bash
# Vérifier la table announcements spécifiquement
docker exec logiflow-logiflow-1 psql $DATABASE_URL -c "
SELECT 'announcements' as table_name, count(*) as columns
FROM information_schema.columns
WHERE table_name = 'announcements';
"
```
## 🛠️ Dépannage
### Migration manuelle forcée
```bash
# Si la migration automatique échoue
docker exec logiflow-logiflow-1 /app/scripts/manual-migrate.sh
```
### Vérification des permissions
```bash
# Vérifier que les scripts sont exécutables
docker exec logiflow-logiflow-1 ls -la /app/scripts/
```
### Logs détaillés
```bash
# Activer le debug des migrations
docker-compose up -d --env DEBUG_MIGRATIONS=true
```
## 📋 Table créée automatiquement
✅ **announcements** - Système d'informations
Le script vérifie et crée **UNIQUEMENT** la table `announcements` si elle n'existe pas. Toutes les autres tables existent déjà en production et ne sont pas touchées.
## 🔄 Futures mises à jour
Désormais, chaque fois que vous mettez à jour votre application Docker :
1. Le conteneur démarre
2. La migration automatique s'exécute
3. Toutes les nouvelles tables sont créées
4. L'application démarre normalement
**Plus besoin d'intervention manuelle !**