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
'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)',
'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)',