Un import qui ne peut pas détruire une donnée
Le cœur du problème n'est pas de lire un fichier Excel, c'est de ne pas ruiner le catalogue avec. Trois garde-fous se superposent. D'abord l'assistant en quatre temps - choisir, mapper, prévisualiser, exécuter - où l'aperçu classe chaque ligne en nouveau, modifié, inchangé ou en erreur, et affiche pour les modifications un différentiel champ par champ avant/après. Ensuite l'écriture : une seule transaction pour tout l'import, et un UPSERT dont chaque champ est enveloppé de sorte qu'une cellule vide n'écrase jamais une valeur existante. Enfin un instantané de la base est pris avant chaque import, si bien qu'une exception laisse la base intacte et le chemin de la sauvegarde est renvoyé à l'utilisateur.