Skip to main content

Module migrations

Module migrations 

Source
Expand description

Système de migrations du schéma SQLite, basé sur PRAGMA user_version.

Principes :

  • Chaque base porte une version de schéma entière (PRAGMA user_version). SQLite vaut 0 par défaut : c’est le cas des bases historiques de mnemo (créées avant l’introduction des migrations) et des bases neuves.
  • Les migrations sont appliquées en séquence, de la version courante jusqu’à SCHEMA_VERSION. Chaque étape est idempotente et non destructive : on ne supprime ni ne réécrit jamais de données existantes.
  • mnemo doctor lit la version sans jamais migrer (lecture seule).

Historique des versions :

  • 1 : schéma de base (table commands).
  • 2 : ajout du contexte Git (git_root, git_branch, git_remote, session_id).

Structs§

Outcome
Résultat d’une application de migrations.

Constants§

SCHEMA_VERSION
Version cible du schéma. Toute base ouverte par mnemo est migrée jusqu’ici.

Functions§

apply
Applique toutes les migrations en attente jusqu’à SCHEMA_VERSION.
schema_version
Lit la version de schéma stockée dans la base (PRAGMA user_version).