fix: altera field_user_id_lattes de INT para BIGINT

IDs Lattes têm 16 dígitos, excedendo o limite do INT (≈2.1 bilhões).
Corrige erro SQLSTATE[22003] durante o cron ao salvar o campo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 13:38:07 -03:00
parent 4cc48b66fd
commit 44b917e78e
2 changed files with 22 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ entity_type: user
type: integer
settings:
unsigned: false
size: normal
size: big
module: core
locked: false
cardinality: 1

View File

@@ -487,6 +487,27 @@ function site_users_update_10006() {
return t("View mode 'restricted' e campo field_user_selected_view_mode criados.");
}
/**
* Altera field_user_id_lattes de INT para BIGINT (IDs Lattes têm 16 dígitos).
*/
function site_users_update_10007() {
// Atualiza a config ativa.
\Drupal::configFactory()
->getEditable('field.storage.user.field_user_id_lattes')
->set('settings.size', 'big')
->save(TRUE);
// Atualiza a definição instalada e o esquema do banco de dados.
$manager = \Drupal::entityDefinitionUpdateManager();
$storage_definition = $manager->getFieldStorageDefinition('field_user_id_lattes', 'user');
if ($storage_definition) {
$storage_definition->setSetting('size', 'big');
$manager->updateFieldStorageDefinition($storage_definition);
}
return t('field_user_id_lattes alterado para BIGINT para suportar IDs Lattes de 16 dígitos.');
}
/**
* Corrige mapeamentos LDAP com campos de string nulos na config ativa.
*/