63 lines
No EOL
1.9 KiB
Python
63 lines
No EOL
1.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Script d'initialisation de la base de données SQLite
|
|
Lance ce script avant le premier démarrage de l'API
|
|
|
|
Usage:
|
|
python init_db.py
|
|
"""
|
|
|
|
import asyncio
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# Ajouter le répertoire parent au path pour les imports
|
|
sys.path.insert(0, str(Path(__file__).parent))
|
|
|
|
from database import init_db # ✅ Import depuis database/__init__.py
|
|
import logging
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
async def main():
|
|
"""Crée toutes les tables dans sage_dataven.db"""
|
|
|
|
print("\n" + "="*60)
|
|
print("🚀 Initialisation de la base de données Sage Dataven")
|
|
print("="*60 + "\n")
|
|
|
|
try:
|
|
# Créer les tables
|
|
await init_db()
|
|
|
|
print("\n✅ Base de données créée avec succès!")
|
|
print(f"📍 Fichier: sage_dataven.db")
|
|
|
|
print("\n📊 Tables créées:")
|
|
print(" ├─ email_logs (Journalisation emails)")
|
|
print(" ├─ signature_logs (Suivi signatures Universign)")
|
|
print(" ├─ workflow_logs (Transformations documents)")
|
|
print(" ├─ cache_metadata (Métadonnées cache)")
|
|
print(" └─ audit_logs (Journal d'audit)")
|
|
|
|
print("\n📝 Prochaines étapes:")
|
|
print(" 1. Configurer le fichier .env avec vos credentials")
|
|
print(" 2. Lancer la gateway Windows sur la machine Sage")
|
|
print(" 3. Lancer l'API VPS: uvicorn api:app --host 0.0.0.0 --port 8000")
|
|
print(" 4. Ou avec Docker: docker-compose up -d")
|
|
print(" 5. Tester: http://votre-vps:8000/docs")
|
|
|
|
print("\n" + "="*60 + "\n")
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"\n❌ Erreur lors de l'initialisation: {e}")
|
|
logger.exception("Détails de l'erreur:")
|
|
return False
|
|
|
|
|
|
if __name__ == "__main__":
|
|
result = asyncio.run(main())
|
|
sys.exit(0 if result else 1) |