Incrementar cantidad de caracteres en el nombre de un EF [SOLUCIONADO]

Hola,

Quisiera incrementar la cantidad de caracteres en el nombre de un EF (actualmente permite hasta 30) porque tengo algunas columnas de tablas asociadas que superan esa longitud y me parece que la solución mas limpia es incrementar directamente la longitud del EF para solucionar estos casos.

Por lo que veo el nombre del EF se guarda en apex_objeto_ei_formulario_ef.identificador y no veo FK asociadas a este campo.

Mi consulta es, modificando la longitud de este campo es suficiente o debo tomar en cuenta otros cambios adicionales?

Gracias

Saludos
Leo

Hice la prueba de modificar el campo apex_objeto_ei_formulario_ef.identificador de la BD, extendiéndolo a 50 caracteres, y hasta el momento todo funciona correctamente.

Hola

Si toba no modifica ese campo vas a tener problemas con la distribución de la aplicación.

Emilio

Emilio, esta aplicación en principio estaría instalada en un servidor propio (y no requiere ser distribuída), entiendo que realizando el mismo ajuste que en el entorno local no debería tener inconvenientes, incluso si en dicho servidor existen aplicaciones funcionando con la misma versión de toba.

en esa instalación te funcionará todo.

si llega toba 2.4 y queres migrar tu proyecto, tenes que cambiar el toba primero para que no trunque.
Si lo queres poner en otra máquina para mostrarlo/desarrollar, etc, tenes que cambiar el toba.

o sea son varios los escenarios en los que tendras que tener en cuenta este cambio.

Si, es cierto, espero que en la próxima versión de Toba ya venga el campo con un tamaño mayor a 30 caracteres :slight_smile:

Hola Leo ,

vamos a analizar mejor el tema pero no te prometo nada, los identificadores de efs son internos al componente, solo se referencian desde codigo y no necesariamente tienen que ver con el dato manejado, con lo cual no necesitan ser completamente literales.

Si bien los identificadores deben ser clarificadores, tampoco me gustaria que cayeramos en la verborragia, porque ahi no hay limite que alcance, de hecho hace poco me encontre con un caso que llegaba al limite de los 64 caracteres que brinda postgres como nombre de tabla, eso es un camino sin retorno.

Reconozco que en algun caso 30 caracteres pueden quedar cortos cuando se usan palabras largas… pero como te decia, siendo un identificador interno, muchas veces se puede abreviar parte de ellas, cosa que no podes hacer con el dato en si. Pensa en una simple sentencia para ocultar un ef, con 30 caracteres es ‘manejable’.


$this->controlador()->dependencia('formulario_basico')->ef('curso_toba_servidores_linux_v2')->ocultar();

$this->controlador()->dependencia('form_basico')->ef('curso_toba_serv_linux_v2')->ocultar();

Con muchos mas caracteres se volveria un tanto molesto a la lectura y escritura, lo que no creo este bueno.
Como te dije al ppio, lo vamos a charlar… pero no te prometo nada.

Saludos

Hola Richard,

Es cierto lo que comentás, en mi caso particular, en dos situaciones tenía EFs con 31 caracteres, la diferencia era de 1 solo caracter.
Quizás, en caso de extenderlo 50 caracteres sea demasiado, podría ser 35 o 40 (y seguramente alguno de nosotros aparecerá con un caso en necesite un poco más jejejeje).

Gracias

Saludos
Leo