[SOLUCIONADO]toba_datos_tabla get_cambios_fila trim

Version Toba: 2.0.5
Rama: http://repositorio.siu.edu.ar/svn/toba/trunk_versiones/2.0

Buenas,
El datos tabla en la función get_cambios_fila no esta teniendo en cuenta el seteo de la propiedad _hacer_trim_datos del persistidor, estaría bueno que lo tenga :slight_smile:


						//--- Comparacion por igualdad estricta con un cast a string
						if (trim((string) $datos_viejos[$campo]) !== trim((string) $datos_nuevos[$campo])) {
							$diferencias[$campo] = array('anterior' => $datos_viejos[$campo], 'actual' => $datos_nuevos[$campo]);
						}

Desde ya muchas gracias.

Hola Artem,

tene en cuenta que el trim sobre el dato, se hace al momento de guardarlo… ahi solo estas comparando versiones para determinar si hubo cambios o no.
Este metodo se usa desde el persistidor para determinar que cambios se deben llevar a cabo, el valor que termina en la SQL no se trabaja en esta clase.

En particular, la comparacion siempre se hace con trim para evitar que espacios innecesarios terminen dando falsos positivos, no se me ocurre en este momento algun valor en el cual un espacio al ppio o final, pudiera tener una semantica especifica.

Contame que estas queriendo hacer, por ahi se le puede encontrar otra vuelta.

Saludos

Hola Richard, el problema esta relacionado a este tema
http://foro.comunidad.siu.edu.ar/index.php?topic=4737.msg18903

En resumen es un proceso que copia datos de una tabla de guarani (informix) a una tabla postgres y hace falta loguear cualquier cambio que sufrió el registro.
Me esta pasando que no solo no registra los cambios de esos registros sino tampoco los sincroniza.

Esto creo que pasa porque en ejecutar_sql_update de toba_ap_tabla_db en los cambios_reales no vienen los cambios de dichos registros.


	protected function ejecutar_sql_update($id_registro, $tabla = null, $where = null)
	{
		$binarios = array();
		$registro = $this->datos[$id_registro];
		$cambios_reales = $this->objeto_tabla->get_cambios_fila($id_registro, $registro);

Saludos.

Hola Artem,

ahi recuerdo como venia la mano, subi el fix para complementar la revision anterior a la rama 2.0.

Igualmente, no conviene hacer esas ‘migraciones’ a base de SQL’s en lugar de pasarlas por un DT?

Saludos

Hola Richard, gracias por la solución, te comento que elegimos usar la persistencia de toba porque manejamos relaciones que nos simplifican mucho la lógica.
Saludos.