Estoy instalando desde cero en un ambiente de prueba el aplicativo sq-nucleo, y nos da un error la instalación.
Cuando el instalador llega a instalando el proyecto sq_nucleo y luego de que la barra de progreso de instalación llega al 100% nos da el siguiente error: [ERROR] PHP Fatal error, para ver mas detalle del error abra el archivo instalador.log
y en el log aparece el siguiente error:
[2022-11-22 11:44:23] MAIN.ERROR: Error al migrar la base de datos: Fallo la migracion: M34086 PHP Fatal error: Uncaught Exception:
Fallo la migracion: M34086 in /usr/local/proyectos/sanaviron_quilmes/nucleo/toba/php/extension_toba/sq_nucleo_modelo.php:49 Stack trac
e: #0 /usr/local/proyectos/sanaviron_quilmes/nucleo/toba/php/extension_toba/sq_nucleo_modelo.php(11): sq_nucleo_modelo->migrarDb() #1
/usr/local/proyectos/sanaviron_quilmes/nucleo/vendor/siu-toba/framework/php/modelo/aplicacion/toba_aplicacion_comando_base.php(41): sq
_nucleo_modelo->instalar(Array) #2 /usr/local/proyectos/sanaviron_quilmes/nucleo/toba/php/extension_toba/sq_nucleo_comando.php(11): to
ba_aplicacion_comando_base->opcion__instalar(Array) #3 /usr/local/proyectos/sanaviron_quilmes/nucleo/vendor/siu-toba/framework/php/con
sola/comandos/comando_proyecto.php(87): sq_nucleo_comando->opcion__instalar(Array) #4 /usr/local/proyectos/sanaviron_quilmes/nucleo/ve
ndor/siu-toba/framework/php/consola/comando.php(90): comando_proyecto->ejecutar_opcion(‘opcion__instala…’, Array) #5 /usr/local/proy
ectos/sanaviron_quilmes/nucleo/vendor/siu-toba/framework/php/conso in /usr/local/proyectos/sanaviron_quilmes/nucleo/toba/php/extension
_toba/sq_nucleo_modelo.php on line 49
La versión de postgres que estoy usando es la 11.17
La instalación es desde cero , el sistema operativo es Debina 10 con PHP 7.3.3
veo que llego a crear las bases sq_nucleo con tablas en los schemas pg_catalog y public y la base de datos toba_ sq_nucleo con tablas en el schema pg_catalog
Buenas Tardes, te dejo otra consulta más Juan, la instalación es similar a la de producción ? no es la que se usaba con Docker que ya no esta disponible no ?
Parece que el problema esta que el encoding del cluster de la base esta en LATIN1 en lugar de estar en UTF8. Si es así podrías crear el cluster en UTF8 y volver a crear la base de negocio y ejecutar el comando de phinx que te paso Valentin.
DB CONNECTION ERROR: ERROR conectandose al motor - SQLSTATE[08006] [7] could not translate host name "connect_timeout=30" to address: Name or service not known Por favor, verifique sus parámetros de conexión: dbname= port= host=
y en el /var/log/apache2/error.log obtengo.
[php7:notice] [pid 696] [client 10.9.0.5:11380] SIU\\SQ\\Lib\\errores\\error_db: DB CONNECTION ERROR
: ERROR conectandose al motor - SQLSTATE[08006] [7] could not translate host name "connect_timeout=30" to address: Name or service not
known\n\nPor favor, verifique sus par\xc3\xa1metros de conexi\xc3\xb3n:\ndbname=\nport=\nhost=\n[TRAZA]\n\t\n\tSIU\\SQ\\Lib\\db\\db_p
do->conectar \nArchivo: /usr/local/proyectos/sanaviron_quilmes/nucleo/vendor/siu/sq-lib/src/siu/sq/lib/db/db_pdo.php, lInea 75 \n\t\n\
tSIU\\SQ\\Lib\\db\\db_pdo->__construct \nArchivo: /usr/local/proyectos/sanaviron_quilmes/nucleo/src/siu/sq/nucleo/Instalador/bootstrap
.php, lInea 28 \nParametros: \n\tpgsql\t\t\t\t\t\t\t\n\t\n\tSIU\\SQ\\Uv\\Instalador\\bootstrap::config \nArchivo: /usr/local/proyectos
/sanaviron_quilmes/nucleo/src/siu/sq/nucleo/Instalador/bootstrap.php, lInea 8 \n\t\n\trequire_once \nArchivo: /usr/local/proyectos/san
aviron_quilmes/nucleo/bin/phinx.php, lInea 21 \nParametros: \n/usr/local/proyectos/sanaviron_quilmes/nucleo/src/siu/sq/nucleo/Instalad
or/bootstrap.php\t\t\n\t\n\tinclude \nArchivo: /usr/local/proyectos/sanaviron_quilmes/nucleo/ven...SIGUE...
Las credenciales para acceder a la base de datos cargadas en el instalador.env y sq.ini son correctos al menos con pgsql utilizando las variables cargadas en esos archivos me puedo conectar.
Podrías pasarnos los archivos bases.ini y sq.ini de tu instalación para ver como tenes configurado?
Tiene que corresponder el valor que tenes en la entrada db de [sq_nucleo] en el archivo sq.ini con la entrada de la base de datos de negocio en el archivo bases.ini
Te paso los dos archivos que me solicitaste, los estuve revisando y creo que están bien.
También realice la prueba de conectarme a la bases toba_sq_nucleo y sq_nucleo con los parámetros que figuran en los archivos y no tuve problemas.
bases.ini
; Configuracion de BASES de DATOS
[toba_3_3]
motor = "postgres7"
profile = "localhost"
usuario = "postgres"
clave = "########"
base = "toba_sq_nucleo"
puerto = "5432"
encoding = "LATIN1"
schema = "toba_sq_nucleo"
[produccion toba_usuarios toba_usuarios]
motor = "postgres7"
profile = "localhost"
usuario = "postgres"
clave = "########"
base = "toba_sq_nucleo"
puerto = "5432"
encoding = "LATIN1"
schema = "toba_sq_nucleo"
[produccion sq_nucleo sq_nucleo]
motor = "postgres7"
profile = "localhost"
usuario = "postgres"
clave = "#########"
puerto = "5432"
encoding = "LATIN1"
base = "sq_nucleo"
schema = "public"
sq.ini
[sq_nucleo]
db="produccion sq_nucleo sq_nucleo"
db_test="produccion sq_nucleo sq_nucleo"
#------------------------------------------#
# Cuando se agregue algún modulo al nucleo #
# psarla la variable standalone a "true" #
# y poner validar_comunicacion_sisemas en #
# "true" o borrar #
#------------------------------------------#
standalone="true"
#standalone="false"
validar_comunicacion_sistemas=false
[unidad_venta]
base_url="http://127.0.0.1/sq_academico/rest/"
auth_usuario="toba"
auth_password="#######"
auth_method="basic"
[arai]
base_url=""
auth_usuario=""
auth_password=""
auth_method=""
[pilaga]
base_url="http://srv-pilaga-test.unm.edu.ar/siu/pilaga/rest/v1/"
auth_usuario="sq"
auth_password="######"
auth_method="digest"
[sq_pagos_backend]
base_url="http://127.0.0.1/sq_pagos_backend/"
auth_usuario="sq_nucleo"
auth_password="######"
auth_method="basic"
[guarani]
base_url="http://srv-guarani-app-des/guarani_pers_migra/rest/v1/"
auth_usuario="unm"
auth_password="######"
auth_method="basic"
[graylog]
activo="0"
host="127.0.0.1"
port="12201"
[factura_afip]
produccion="false"
cuit="00000000000"
connection_timeout=""
[mailer]
;;-----------------------------------------------------
; Directivas generales de funcionamiento
ENVIA_EMAILS = "0" ; Indica si envía los correos o actúa como "dummy" ("1" = Si, "0" = No).
EMAIL_ENVIOS_DESARROLLO = "" ; Es la cuenta a la cual enviar los correos cuando es una instalación de desarrollo.
ES_DESARROLLO = "1"
;-----------------------------------------------------
; Configuración general de SMTP
SMTP_HOST = "smtp.googlemail.com" ; Es el host del SMTP por el cual saldrá el envío definitivo.
SMTP_PUERTO = "465" ; Puerto por el cual se enviará el correo.
SMTP_PROTOCOLO_SEGURIDAD = "ssl|tls" ; Se indica el protocolo de seguridad. Este valor se usa como prefijo de conexión ("", "ssl" o "t
ls").
;-----------------------------------------------------
; Configuración de la autenticación SMTP
SMTP_AUTENTICAR = "1"
SMTP_USUARIO = "test"
SMTP_CLAVE = "test"
SMTP_AUTO_TLS = "1"
; habilita tls si el server lo soporta incluso si SMTP_PROTOCOLO_SEGURIDAD no esta seteado en tls ("1" = Si, "0" = No)
;si se deja comentado por defecto esta en true, en UNQ fue necesario ponerlo en false ('0')
[AraiDocumentos]
HOST = ""
USER = ""
PASS = ""
LOGS_DIR = ""
QUEUE_PATH = ""
SISTEMA_ORIGEN = ""
QUEUE_TEMP_DIR = ""
DB_QUEUE = ""
DB_HOST = ""
DB_PORT = ""
DB_USER = ""
DB_PASS = ""
DB_TABLE = ""
POLLING_INVERVAL = ""
REST_NUCLEO = ""
TIPO_DOCUMENTO = ""
USUARIO_ARAI = ""
USUARIO_SSO = ""
USUARIO_CUENTA = ""
El problema puede estar que en el archivo sq.ini comentaron las lineas con numeral # en lugar de punto y coma ;
Los comentarios en los .ini se hacen con ;
Prueben reemplazar los # por ; como se muestra en el siguiente ejemplo:
[sq_nucleo]
db="produccion sq_nucleo sq_nucleo"
db_test="produccion sq_nucleo sq_nucleo"
;------------------------------------------
; Cuando se agregue algún modulo al nucleo
; psarla la variable standalone a "true"
; y poner validar_comunicacion_sisemas en
; "true" o borrar
;------------------------------------------
standalone="true"
;standalone="false"
validar_comunicacion_sistemas=false