From d23bc4819fa4071c3dd1127ad304bbf33203bdad Mon Sep 17 00:00:00 2001 From: Olivier Date: Sat, 13 Jun 2026 16:47:27 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20d=C3=A9placer=20migration=20csg/crds/sol?= =?UTF-8?q?idarite=20avant=20le=20seed=20taux=5Fpfu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La migration ALTER TABLE ADD COLUMN pour csg, crds et solidarite s'exécutait après le seed qui tentait d'insérer ces colonnes, provoquant un crash SQLite. Déplace le bloc de migration avant le seed pour respecter l'ordre d'exécution. --- backend/src/db/index.js | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/backend/src/db/index.js b/backend/src/db/index.js index d443bc9..f5827ad 100644 --- a/backend/src/db/index.js +++ b/backend/src/db/index.js @@ -493,6 +493,26 @@ db.exec('CREATE INDEX IF NOT EXISTS idx_garantie_types_user ON garantie_types(us } } +// ── Migration : détail des taux 2778-SD sur taux_pfu ───────────────────────── +// Décompose prelev_sociaux en ses 3 composantes pour le calcul de la déclaration +// mensuelle 2778-SD (taux identiques au PFU global mais ventilés par case). +// Taux 2021-2025 : CSG 9,2 % | CRDS 0,5 % | Solidarité 7,5 % → total 17,2 % +// Taux 2026+ : CSG 10,6 %| CRDS 0,5 % | Solidarité 7,5 % → total 18,6 % +{ + const pfuCols = db.prepare('PRAGMA table_info(taux_pfu)').all().map(c => c.name); + if (!pfuCols.includes('csg')) { + db.exec('ALTER TABLE taux_pfu ADD COLUMN csg REAL NOT NULL DEFAULT 9.2'); + // Mise à jour des années 2026+ où la CSG passe à 10,6 % + db.exec('UPDATE taux_pfu SET csg = 10.6 WHERE annee >= 2026'); + } + if (!pfuCols.includes('crds')) { + db.exec('ALTER TABLE taux_pfu ADD COLUMN crds REAL NOT NULL DEFAULT 0.5'); + } + if (!pfuCols.includes('solidarite')) { + db.exec('ALTER TABLE taux_pfu ADD COLUMN solidarite REAL NOT NULL DEFAULT 7.5'); + } +} + // ── Seed taux_pfu si vide ───────────────────────────────────────────── const pfuCount = db.prepare('SELECT COUNT(*) AS n FROM taux_pfu').get().n; if (pfuCount === 0) { @@ -999,25 +1019,6 @@ db.exec(` } } -// ── Migration : détail des taux 2778-SD sur taux_pfu ───────────────────────── -// Décompose prelev_sociaux en ses 3 composantes pour le calcul de la déclaration -// mensuelle 2778-SD (taux identiques au PFU global mais ventilés par case). -// Taux 2021-2025 : CSG 9,2 % | CRDS 0,5 % | Solidarité 7,5 % → total 17,2 % -// Taux 2026+ : CSG 10,6 %| CRDS 0,5 % | Solidarité 7,5 % → total 18,6 % -{ - const pfuCols = db.prepare('PRAGMA table_info(taux_pfu)').all().map(c => c.name); - if (!pfuCols.includes('csg')) { - db.exec('ALTER TABLE taux_pfu ADD COLUMN csg REAL NOT NULL DEFAULT 9.2'); - // Mise à jour des années 2026+ où la CSG passe à 10,6 % - db.exec('UPDATE taux_pfu SET csg = 10.6 WHERE annee >= 2026'); - } - if (!pfuCols.includes('crds')) { - db.exec('ALTER TABLE taux_pfu ADD COLUMN crds REAL NOT NULL DEFAULT 0.5'); - } - if (!pfuCols.includes('solidarite')) { - db.exec('ALTER TABLE taux_pfu ADD COLUMN solidarite REAL NOT NULL DEFAULT 7.5'); - } -} // ── Table taux_credit_impot — Référentiel 2047 crédit d'impôt par pays ───────