From ba00e7ecf690d33725038acb0041b2ab1b6a0949 Mon Sep 17 00:00:00 2001 From: Chaim Marcus Date: Sun, 29 Mar 2026 20:28:56 +0000 Subject: [PATCH] fix: convert empty strings to null for integer/bool columns MySQL strict mode rejects empty string '' for integer columns like is_internal. Convert '' and false to null before SQL insert. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Espo/Modules/DataMigration/Services/EntityImporter.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/files/custom/Espo/Modules/DataMigration/Services/EntityImporter.php b/files/custom/Espo/Modules/DataMigration/Services/EntityImporter.php index 9645bba..5bd0a3d 100644 --- a/files/custom/Espo/Modules/DataMigration/Services/EntityImporter.php +++ b/files/custom/Espo/Modules/DataMigration/Services/EntityImporter.php @@ -348,6 +348,11 @@ class EntityImporter $value = json_encode($value, JSON_UNESCAPED_UNICODE); } + // Fix empty strings for integer/bool columns (MySQL strict mode) + if ($value === '' || $value === false) { + $value = null; + } + $columns[] = "`{$column}`"; $values[] = $value; $placeholders[] = '?';