Module `migration` - Hexoplanete/Projet-Furet GitHub Wiki

Correspond au dossier src/furet/migration

Ce module permet de gérer les changements dans le format des données de l'application à travers des fichiers pythons:

Structure

  • __init__.py: Fichier gérant les migrations à appliquer et contenant la classe Migration
  • migrations: Dossiers contenant toutes les migrations

__init__.py

Ce ficher est appelé lors du chargement de l'application et applique toutes les migrations qui ne l'ont pas encore été. Pour ce faire, il utilise la table .migrations(classe AppliedMigration) de la DB qui contient toutes les migrations effectuées et une classe Migration qui contient une fonction up(self).

En comparant les fichiers du dossier migrations et cette liste, il détermine les migrations manquantes et les appliquent par ordre chronologique en appelant la fonction up.

Fichiers de migrations (dossier migrations)

Le nom des fichiers de migration doivent avoir le format YYYY-MM-DD_<name>.py, contenir une classe <name> héritant de la classe Migration

Ce dossier contient les migrations de la base de données. Elles sont appliquées par un appel à la fonction up(self) lors du lancement de l'application

⚠️ **GitHub.com Fallback** ⚠️