Checkpoint: Correction complète du bug d'import Excel - Utilisation de $returningId() pour récupérer les IDs après insertion (formations et séquences), ajout de la colonne ordre obligatoire pour les dates de formation. L'import fonctionne maintenant correctement.
This commit is contained in:
@@ -196,13 +196,13 @@ export async function importToDatabase(
|
||||
for (const formation of formations) {
|
||||
try {
|
||||
console.log(`[Import] Création formation: ${formation.nom}`);
|
||||
const result = await db.insert(formationsTable).values({
|
||||
const [result] = await db.insert(formationsTable).values({
|
||||
nom: formation.nom,
|
||||
description: formation.description,
|
||||
lienUnique: generateUniqueLien(),
|
||||
});
|
||||
}).$returningId();
|
||||
|
||||
const formationId = Number(result.insertId);
|
||||
const formationId = result.id;
|
||||
formationIdMap.set(formation.nom.toLowerCase(), formationId);
|
||||
console.log(`[Import] Formation créée avec ID ${formationId}, ajoutée à la map avec clé: "${formation.nom.toLowerCase()}"`);
|
||||
formationsCreated++;
|
||||
@@ -238,7 +238,7 @@ export async function importToDatabase(
|
||||
continue;
|
||||
}
|
||||
|
||||
const result = await db.insert(sequencesTable).values({
|
||||
const [result] = await db.insert(sequencesTable).values({
|
||||
formationId,
|
||||
nom: sequence.nom,
|
||||
lieu: sequence.lieu,
|
||||
@@ -246,16 +246,18 @@ export async function importToDatabase(
|
||||
capaciteMax: sequence.capaciteMax,
|
||||
dateBlocage: new Date(sequence.dateBlocage),
|
||||
statut: sequence.statut,
|
||||
});
|
||||
}).$returningId();
|
||||
|
||||
const sequenceId = Number(result.insertId);
|
||||
const sequenceId = result.id;
|
||||
|
||||
// Insérer les dates de formation
|
||||
for (const date of sequence.dates.slice(0, 4)) {
|
||||
for (let i = 0; i < Math.min(sequence.dates.length, 4); i++) {
|
||||
const date = sequence.dates[i];
|
||||
await db.insert(datesFormation).values({
|
||||
sequenceId,
|
||||
dateDebut: new Date(date.debut),
|
||||
dateFin: new Date(date.fin),
|
||||
ordre: i + 1,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user