Skip to content

Ré-organisation de db

Vincent Lara requested to merge reorg-connection into main

Contexte

Dans une autre MR je me suis encore pris la tête sur la gestion de la base de données dans les tests ; notamment parce qu’on ne pas partager la connexion entre les tests et une application fastapi.

Solution

J’ai fait pas mal d’allers-retours, j’ai pas réussi à régler proprement comme j’aurais aimé ; mais je pense être arrivé à quelque chose d’un peu plus clair que ce qu’on avait avant.

Sous-classe de encode.databases

On utilise depuis quelques temps la librairie databases pour nous simplifier la gestion de l’async de la base de données.

On a aussi une classe à nous db, j’ai renommé cette classe Database, je l’ai faite hériter de encode.Database et ai instancié une valeur db qui hérite de cette classe, beaucoup de ce qu’on faisait dans la classe était déjà fait dans la librairie principale, ça enlève donc pas mal de code.

J’ai aussi supprimé la notion de classe dans insitu.importer.db et insitu.exsitu.db il y a maintenant dedans que des fonctions libres.

db_conn renvoie une connexion

Quelque chose qui m’a posé pas mal de noeud au cerveau avec l’ancienne approche était la fonction même de db_conn, il est rendu plus explicite que cette fixture renvoie une connexion.

Ajout de transactions

J’en ai profité pour ajouter la notion de transaction là où ça me semblait pertinent.

Edited by Vincent Lara

Merge request reports