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. */