Skip to content

Trésorerie : prérequis base de données à la migration Doctrine - #2389

Open
vgreb wants to merge 1 commit into
afup:masterfrom
vgreb:refacto/doctrine-accounting-1-prerequis-bdd
Open

Trésorerie : prérequis base de données à la migration Doctrine#2389
vgreb wants to merge 1 commit into
afup:masterfrom
vgreb:refacto/doctrine-accounting-1-prerequis-bdd

Conversation

@vgreb

@vgreb vgreb commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Cette PR est un découpage de #2345 pour l'issue #2388

Prérequis de schéma et de fixtures à la migration de la comptabilité vers Doctrine. Aucune modification de code applicatif.

Là où Ting écrivait des identifiants bruts sans vérifier leur existence, Doctrine résout une association vers une entité ou vers null. Deux incohérences que Ting masquait deviennent donc bloquantes.

compta.idmode_regl était NOT NULL, avec 0 comme sentinelle « pas de règlement » — une valeur qui ne correspond à aucune ligne de compta_reglement (ids 1 à 9). La colonne passe nullable et les 0 deviennent NULL, ce que la sentinelle signifiait déjà.

Le seed des comptes ne créait que les ids 1 à 4, alors que les importeurs Crédit Mutuel référencent ComptaCompte::COURANT_CMUT (5) et LIVRET_CMUT (6) depuis longtemps. À l'import, Ting écrivait un idcompte pointant dans le vide ; Doctrine y verrait null, en violation de compta.idcompte NOT NULL. Les deux comptes sont ajoutés aux fixtures.

Prérequis de schéma et de fixtures à la migration de la comptabilité vers
Doctrine. Aucune modification de code applicatif.

Là où Ting écrivait des identifiants bruts sans vérifier leur existence,
Doctrine résout une association vers une entité ou vers `null`. Deux
incohérences que Ting masquait deviennent donc bloquantes.

**`compta.idmode_regl`** était `NOT NULL`, avec `0` comme sentinelle « pas de
règlement » — une valeur qui ne correspond à aucune ligne de
`compta_reglement` (ids 1 à 9). La colonne passe nullable et les `0`
deviennent `NULL`, ce que la sentinelle signifiait déjà.

**Le seed des comptes** ne créait que les ids 1 à 4, alors que les importeurs
Crédit Mutuel référencent `ComptaCompte::COURANT_CMUT` (5) et `LIVRET_CMUT`
(6) depuis longtemps. À l'import, Ting écrivait un `idcompte` pointant dans le
vide ; Doctrine y verrait `null`, en violation de `compta.idcompte NOT NULL`.
Les deux comptes sont ajoutés aux fixtures.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant