From dd00ff9f3b31553fc03c05b27e7eea322fbb635d Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Mon, 7 Sep 2026 16:11:05 +0200 Subject: [PATCH] =?UTF-8?q?Migration=20:=20tol=C3=A9rer=20un=20LastName=20?= =?UTF-8?q?absent=20c=C3=B4t=C3=A9=20Mongo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Postgres impose NOT NULL sur Users.LastName, MongoDB n'impose rien. L'utilisateur test@email.be a un nom nul, et faisait donc échouer le SaveChanges de toute l'étape — donc annuler la transaction entière et la migration avec. Trouvé au premier run réel sur la préprod. Un dry run ne pouvait pas le voir : il n'écrit rien, donc aucune contrainte n'est évaluée. C'est la limite à retenir de dryRun, et la raison de commencer par la plus petite instance. Co-Authored-By: Claude Opus 5 --- ManagerService/Controllers/MigrationController.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ManagerService/Controllers/MigrationController.cs b/ManagerService/Controllers/MigrationController.cs index d3607ef..6ee5af1 100644 --- a/ManagerService/Controllers/MigrationController.cs +++ b/ManagerService/Controllers/MigrationController.cs @@ -306,7 +306,11 @@ namespace ManagerService.Controllers Email = old.Email, Password = old.Password, FirstName = old.FirstName, - LastName = old.LastName, + // Mongo n'impose rien sur le nom, Postgres le veut NOT NULL : + // `test@email.be` a LastName null et faisait échouer tout le + // lot au SaveChanges. Le dry run ne peut pas voir ce défaut — + // il n'écrit rien, donc aucune contrainte n'est évaluée. + LastName = old.LastName ?? string.Empty, Token = old.Token, DateCreation = old.DateCreation, InstanceId = old.InstanceId,