From 44b917e78ea68bac32a47be06639d1ed22115cd3 Mon Sep 17 00:00:00 2001 From: "Quintino A. G. Souza" Date: Thu, 26 Feb 2026 13:38:07 -0300 Subject: [PATCH] fix: altera field_user_id_lattes de INT para BIGINT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ...ield.storage.user.field_user_id_lattes.yml | 2 +- site_users.install | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/config/optional/field.storage.user.field_user_id_lattes.yml b/config/optional/field.storage.user.field_user_id_lattes.yml index 691de3e..726df05 100644 --- a/config/optional/field.storage.user.field_user_id_lattes.yml +++ b/config/optional/field.storage.user.field_user_id_lattes.yml @@ -9,7 +9,7 @@ entity_type: user type: integer settings: unsigned: false - size: normal + size: big module: core locked: false cardinality: 1 diff --git a/site_users.install b/site_users.install index 9e87799..18e0a96 100644 --- a/site_users.install +++ b/site_users.install @@ -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. */