[SOLUCIONADO]Esquema Toba en Base Nueva

Buenos dias, estoy haciendo un instalador de un desarrollo en Toba. Seguí los pasos indicados (Exportar el proyecto, Compilarlo y Empaquetarlo) y el instalador se crea sin problemas.

Cuando intento realizar la instalación en una Base de datos nueva, me da el siguiente error (Interfaz es el nombre de mi proyecto)

SQLSTATE[3F000]: Invalid schema name: 7 ERROR: schema “toba_interfaz” does not exist

Me estará faltando alguna configuración?

Si yo creo el esquema manualmente, la instalación continúa, pero una vez que finalizada, en la Base de Datos se creó otro esquema llamado “toba_Interfaz”, pero con Interfaz con mayúscula, el cual se encuentra vacio.

Cuando intento navegar hacia el proyecto, me dice

SQLSTATE[3F000]: Invalid schema name: 7 ERROR: schema “toba_interfaz” does not exist

Estoy usando la versión 1.5 de SIU-Toba
Gracias por cualquier ayuda!!

Claudia

Hola Claudia,

me podrias adjuntar el archivo proyecto.ini que se encuentra dentro de la carpeta del proyecto Interfaz?

Saludos

Richard, te lo paso!

Gracias!

Claudia


Hola Claudia,

todo parece reducirse a un problema entre mayusculas y minusculas, aparentemente hay problemas cuando se encuentra un nombre de schema, tabla, rol que incluye alguna mayuscula.

Lo peor es que se trata de un comportamiento incoherente, ya que cuando queres crear 2 roles o 2 schemas con diferencia de mayusculas zapatea diciendo que ya existe, sin embargo cuando tratas de setear un schema particular al no coincidir las mayusculas con las minusculas no lo encuentra y da error.

Lo que no termino de entender completamente es si se trata de un bug en Postgres o en el driver de PHP.
La solucion por ahora es crear usuarios, schemas y tablas en minusculas. Por tanto, en tu caso deberias (antes de empaquetar) asegurarte que el nombre de schema que le pases a tu base de negocios este en minuscula.

De todas maneras a vos el problema se te presentaba en el schema de la base de toba. Para eso estoy subiendo un fix, debido a que ese nombre se arma en base al id del proyecto, las opciones son:

  • Cambiar todo el proyecto para que el id nuevo no tenga mayusculas y concuerde con el explicitado en proyecto.ini (muy tedioso y propenso a errores).

  • Cambiar la manera en que se genera el nombre de schema para que se fuercen las minusculas en el mismo. Esto luego queda encapsulado dentro de bases.ini

Por ahora el fix sigue la segunda opcion, de todas maneras tambien voy a agregar un control en la creacion de proyectos, para que se impida utilizar identificadores con mayusculas y prevenimos estos casos (al menos hasta que se arregle este tema en postgres). Deberias actualizarte la carpeta de toba para obtener los cambios del instalador.

Saludos

Richard: muchas gracias por tu respuesta. Sospechábamos que algo tenían que ver mayúsculas.
Lo que necesitaría ahora es saber como bajo el fix. Te cuento que la instalación de Toba la tengo en un servidor en el cual no tengo SVN, aunque si lo tengo instalado en mi PC. Como sería el procedimiento?

Muchas Gracias!

Claudia

Hola Claudia,

el fix lo podes bajar directamente con un update de svn. Eso lo tenes que hacer en la maquina donde generas el paquete de instalacion.
Si esa maquina es el servidor donde tenes el codigo sin svn, lo que harias es trasladar el archivo necesario al directorio del instalador,
el mismo es:

 instalador/acciones/instalar/pasos/paso_instalar_bases.php

Una vez pises ese archivo (unicamente), deberias volver a generar el paquete de instalacion y probarlo.

Saludos

Richard, gracias por tu respuesta. Lo pruebo y te cuento como me fue.

Claudia

Richard: te cuento que funcionó bárbaro, ya pude generar el paquete de instalación.

Muchas Gracias!!!

Claudia