SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "apex_admin_param_previsuali

Hola, tengo el siguiente error cuando intento acceder a alguna parte del sistema eventualmente:

SQLSTATE[42P01]: Undefined table: 7 ERROR: relation “apex_admin_param_previsualizazion” does not exist\nLINE 2: FROM apex_admin_param_previsualizazion\n ^ Más info…
SQLSTATE: db_42P01

Es algo que no pasa siempre, pero pasa muy seguido y es muy molesto trabajar asi. La tabla existe, los schemas de la BDD estan perfectos, alguna solución? Gracias de antemano.

Saludos.

Hola Lautaro,

¿tenes bien configurado en instalacion/bases.ini, revisa la propiedad schema?

Te adjunto el mio:


[toba_3_3]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
usuario = "postgres"
clave = "postgres"
base = "db_guarani"
puerto = "5432"
encoding = "LATIN1"
schema = "desarrollo"

[desarrollo toba_referencia toba_referencia]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
usuario = "postgres"
clave = "postgres"
puerto = "5432"
encoding = "LATIN1"
base = "db_guarani"
schema = "referencia"

[desarrollo toba_usuarios toba_usuarios]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
usuario = "postgres"
clave = "postgres"
base = "db_guarani"
puerto = "5432"
encoding = "LATIN1"
schema = "desarrollo"

[desarrollo guarani guarani]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
usuario = "postgres"
clave = "postgres"
puerto = "5432"
encoding = "LATIN1"
base = "db_guarani"
schema = "negocio"

[desarrollo guarani preinscripcion]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
puerto = "5432"
usuario = "postgres"
clave = "postgres"
base = "preinscripcion_trunk"
encoding = "LATIN1"
schema = "public"

saludos.
2

Hola, si esta perfecto.

Saludos.

Hola Lautaro,

¿nos podrías enviar los logs que se generan cuando te da dicho error?

Tenes los logs de la aplicación en /instalacion/i__desarrollo/p__guarani/logs/sistema.log, o sino en los logs de Apache.

El error parece venir de la función get_parametros_previsualizacion_db de la clase vendor/siu-toba/framework/php/nucleo/lib/toba_editor.php.

Si comparas los archivos instalacion/bases.ini y instalacion/i__desarrollo/instancia.ini, revisa que el parámetro base = “toba_x_x” sea igual al de bases.ini:


[toba_x_x]
motor = "postgres7"
profile = "siu_guarani_db_trunk"
usuario = "postgres"
clave = "postgres"
base = "db_guarani"
puerto = "5432"
encoding = "LATIN1"
schema = "desarrollo"

saludos.
4

Hola, bases.ini y instancia.ini estan correctos. Te adjunto el log del sistema.

Saludos


sistema.txt (288 KB)

Hola Lautaro, gracias por los logs!!!

Veo que hay otros foros similares:
http://foro.comunidad.siu.edu.ar/index.php?topic=18754.msg82517
http://foro.comunidad.siu.edu.ar/index.php?topic=18014.msg78923

Probemos con lo siguiente:

  1. Borrar la carpeta vendor y luego volver a correr el comando composer install.

  2. Exportar (bin/guarani exportar) y luego Regenerar (bin/guarani regenerar).

saludos.
2

Hola, dejo devuelta el mensaje porque tal vez no leyeron el edit del anterior que ya borre. El problema no se solucionó con lo último que me mencionaste, sigue pasando eventualmente (muchas veces).

Saludos.

Hola Lautaro, gracias por la información!!!

Por ahora probemos esto para resolverlo, en la función get_parametros_previsualizacion_db de la clase vendor/siu-toba/framework/php/nucleo/lib/toba_editor.php que quede como sigue:


	static function get_parametros_previsualizacion_db()
	{
		$proyecto = quote(self::get_proyecto_cargado());
		$usuario = quote(toba::usuario()->get_id());
		$sql = "SELECT perfil_datos, grupo_acceso, punto_acceso
				FROM desarrollo.apex_admin_param_previsualizazion
				WHERE proyecto = $proyecto
				AND usuario = $usuario;";
		//Esto se accede solo desde el ADMIN
		$datos = toba::db()->consultar($sql);
		if ($datos) {
			return $datos[0];
		}
		return null;
	}

Básicamente lo que hago es forzar el schema de la DB a desarrollo para esa query en particular.

saludos.
2

Hola, por lo que estuve probando, con eso parecería haberse solucionado, gracias.

Saludos!

Hola Lautaro, me alegro que lo hayan podido solucionar!!!

Tenemos un par de preguntas para que esto se resuelva definitivamente:

  1. ¿es un ambiente de desarrollo o producción?

  2. ¿están accediendo a Guaraní a través del Toba Editor?

  3. ¿están accediendo con el usuario Toba o con otro usuario?

saludos.
2

Hola

  1. ¿es un ambiente de desarrollo o producción?
    Es un ambiente de desarrollo
  2. ¿están accediendo a Guaraní a través del Toba Editor?
    Accedo a Guarani gestión directamente.
  3. ¿están accediendo con el usuario Toba o con otro usuario?
    Accedo con el usuario toba (aunque la contraseña es otra ya que tengo restaurada en local, la base de produccion). Esto se debe a que estuve trabajando con las migraciones desde sistema externo.

Saludos!

Hola Lautaro, gracias por la información!!!

Vamos a ver a que se debe!!!