diff --git a/CRM/Export/BAO/ExportProcessor.php b/CRM/Export/BAO/ExportProcessor.php index fff50a8dad1e8cfd6d91a3e2542f23ee9b01192a..f134e0eaff2dfcee90a918c32a0d660467139a0e 100644 --- a/CRM/Export/BAO/ExportProcessor.php +++ b/CRM/Export/BAO/ExportProcessor.php @@ -1464,7 +1464,16 @@ class CRM_Export_BAO_ExportProcessor { case CRM_Utils_Type::T_STRING: if (isset($fieldSpec['maxlength'])) { - return "`$fieldName` varchar({$fieldSpec['maxlength']})"; + // A localized string for the preferred_mail_format does not fit + // into the varchar(8) field. + // @see https://lab.civicrm.org/dev/core/-/issues/2645 + switch ($fieldName) { + case 'preferred_mail_format': + return "`$fieldName` varchar(16)"; + + default: + return "`$fieldName` varchar({$fieldSpec['maxlength']})"; + } } $dataType = $fieldSpec['data_type'] ?? ''; // set the sql columns for custom data diff --git a/tests/phpunit/CRM/Export/BAO/ExportTest.php b/tests/phpunit/CRM/Export/BAO/ExportTest.php index 1c8dd99a8b2e1dad1e6919cca6227e4bb085439a..690bee27979dd088fcbd193a9ef3436f231c5fa9 100644 --- a/tests/phpunit/CRM/Export/BAO/ExportTest.php +++ b/tests/phpunit/CRM/Export/BAO/ExportTest.php @@ -2555,7 +2555,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { 'image_url' => '`image_url` longtext', 'preferred_communication_method' => '`preferred_communication_method` varchar(255)', 'preferred_language' => '`preferred_language` varchar(5)', - 'preferred_mail_format' => '`preferred_mail_format` varchar(8)', + 'preferred_mail_format' => '`preferred_mail_format` varchar(16)', 'hash' => '`hash` varchar(32)', 'contact_source' => '`contact_source` varchar(255)', 'first_name' => '`first_name` varchar(64)', @@ -2743,7 +2743,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { 'image_url' => '`image_url` longtext', 'preferred_communication_method' => '`preferred_communication_method` varchar(255)', 'preferred_language' => '`preferred_language` varchar(5)', - 'preferred_mail_format' => '`preferred_mail_format` varchar(8)', + 'preferred_mail_format' => '`preferred_mail_format` varchar(16)', 'hash' => '`hash` varchar(32)', 'contact_source' => '`contact_source` varchar(255)', 'first_name' => '`first_name` varchar(64)',