Seeds (back/seeds)
npm run seed (local) / npm run seed:preprod rejoue des upserts idempotents (track = false) : feature_toggle, message_template, puis le référentiel (referentiel.seeder.ts).
message_template: dump réel,htmlànullquandbrevoTemplateIdest renseigné (le contenu vit chez Brevo).- Référentiel (
fixtures/<table>.json(un fichier par table), colonnes en snake_case, upsert SQL brut, ordre des FK) :partner,step_sequence,step_sequence_partners_partner,besoin,sous_besoin,ressource_jeune,ressource_jeune_sous_besoin,step_message,steps,todo_default_task. Ids explicites car référencés ailleurs. ressource(lorem ipsum legacy) n'est pas seedée.- Le fixture a été tiré de la base locale, sauf
ressource_jeune(source : prod, la base locale avait des URLs ànull). Seul le lien(3, article1)destep_sequence_partners_partnerétait cohérent : les 4 autres pointaient vers desstep_sequenceabsentes. step_message: seulement les séquences 3, 6, 7 (les 1, 2, 4, 5 n'existent plus). Le template est référencé partemplate_nameet résolu entemplate_idau seed (ids auto-incrémentés, différents d'une base à l'autre) :MessageTemplatesSeederdoit passer avant.step_messageetstepsse référencent mutuellement, donc les FK sont coupées le temps du seed (une seule connexion).- Les fixtures JSON s'importent avec
import x = require('…json'): sansesModuleInterop,import x fromvautundefinedà l'exécution.