Services Api_Ihm Src Database Clean_Db

Version: 1.2.0 (2023-12-20) Auteur: Kahina et franck - Groupe 2 Commit: bigmoletos@yopmail.com

Script de nettoyage et réinitialisation de la base de données.

Ce module permet de nettoyer complètement et recréer la base de données de l’application. Il assure: - La suppression sécurisée des anciennes données - La recréation des tables avec le schéma à jour - La réinitialisation du compte administrateur

Architecture:

  1. Nettoyage: - Suppression du fichier SQLite existant - Vérification des permissions - Gestion des erreurs

  2. Réinitialisation: - Création des dossiers nécessaires - Configuration de Flask - Initialisation SQLAlchemy

  3. Configuration: - Gestion des chemins absolus - Configuration de la base SQLite - Création de l’admin par défaut

Utilisation:

python clean_db.py

ATTENTION:

Ce script supprime TOUTES les données existantes. À utiliser avec précaution en production.

Dépendances:

  • flask : Application minimale

  • models : Modèles SQLAlchemy

  • pathlib : Gestion des chemins

services.api_ihm.src.database.clean_db.clean_databases()[source]

Nettoie et réinitialise complètement la base de données.

Cette fonction: 1. Supprime la base de données existante 2. Recrée la structure des tables 3. Initialise les données par défaut

Processus:

  1. Nettoyage: - Détermination des chemins absolus - Suppression du fichier SQLite - Vérification des permissions

  2. Préparation: - Création des dossiers requis - Configuration de Flask - Initialisation de SQLAlchemy

  3. Réinitialisation: - Création des tables - Configuration de l’admin - Validation de la structure

Notes:

  • Utilise des chemins absolus pour la fiabilité

  • Vérifie les permissions avant suppression

  • Crée un utilisateur admin par défaut

Environment Variables:

ADMIN_PASSWORDstr

Mot de passe admin (requis)

Raises:

Exception
  • Si la suppression échoue

  • Si la création échoue

  • Si les permissions sont insuffisantes

  • Si ADMIN_PASSWORD n’est pas défini