Migración de 3.10 a 3.15

Estimados, tenemos una instalación productiva de Guaraní (3.10) que estamos utilizando para nuestra escuela secundaria y la queremos actualizar a la versión 3.15.

Hace poco hicimos pruebas de instalación pero a versiones anteriores 3.11, 3.12.

Revisando los requerimientos de la 3.15 vimos que hay bastantes cosas que actualizarle al servidor en donde tenemos instalada la 3.10. La gente que hace estas cosas, del área de Redes, nos dice que no se puede actualizar todo lo que le solicitamos en función del sistema operativo existente y nos recomiendan instalar un servidor nuevo:

Lo que hay ahora:

  • Linux Debian 7
  • php 4.4.45
  • apache 2 2.2.22
  • postgres 9.1.21

Lo que sería optimo instalar:

  • Linux Debian 9
  • php 7.0.27
  • apache 2 2.4.25
  • postgres 9.6

Con esto me surgen varias dudas:

  • Si arrancamos con un servidor nuevo con el sistema operativo que me recomiendan. ¿Tengo que instalar desde cero la versión 3.10, hacer un restore de la base y luego sobre eso hacer la actualización a la 3.15?

  • o ¿existe una forma de instalar directamente la versión 3.15 y luego hacer una importación (migración o lo que sea) de la base productiva (la de la aplicación que está en 3.10)?

¿Se entiende? Aguardo vuestras recomendaciones o pedidos de ampliación.
Gracias.

Buenos días Alberto.
Te contesto por partes. Para el tema del nuevo servidor, lo recomendable es que tengas las versiones que se requieren tanto para php y postgres para tener la versión 3.15.
En este link te paso los requisitos previos de dicha versión. http://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.15.0/instalacion_desde_cero/requisitos_previos/linux

Lo recomendable para instalar todo en el nuevo server, es que en el mismo instales la nueva versión directamente. Esto te lleva a que en un ambiente de desarrollo hagas el pasaje de personalizaciones de la 3.10 a la 3.15. Luego si en este nuevo ambiente, deberías hacer un restore de la base y corras el comando migrar_base para tener todo en la versión 3.15.

Espero se haya entendido, sino cualquier cosa volvé a consultarnos.

Saludos.

Gracias por la respuesta. Para ver si me quedó claro, sobre un servidor con las versiones solicitadas en los requisitos, hacemos una instalación de la versión 3.15 (por el momento no tenemos ninguna personalización) y antes del paso del instructivo que indica el comando “migrar_base” hacemos el restore y después ejecutamos el comando “migrar_base”. ¿Es así?

Hola buenos días Alberto!

Si, exactamente, serían esta lista de pasos:

  1. Tener un servidor con las versiones requeridas. y allí:

  2. Hacer una instalación 3.15

  3. Hacer un restore de la base.

  4. Ejecutar desde bin el comando ./guarani migrar_base (migrar_base migra la base de negocio que tenés a la versión que corresponde, por eso el punto 3).

Cualquier cosa nos consultas si algo no quedó claro!

Estimados, ya hicimos la instalación de un Guarani 3.15.1 en un servidor nuevo con todos los requisitos y si bien tuvimos un para de detalles porque no usamos el nombre de instancia por default y en varios comandos tuvimos que agregar el parámetro -i produccion pero ya lo tenemos instalado.

Ahora tenemos que pasar la base de la 3.10 a la 3.15 y con estos tengo algunas dudas:

En el nuevo servidor tengo una base que se llama “guarani3” con los siguientes esquemas:

  • negocio
  • negocio_auditoria
  • produccion
  • produccion_logs
  • public
  • referencia

y en el mismo servidor restauré una base de la la versión 3.10 con los siguientes esquemas:

  • desarrollo
  • desarrollo_backup
  • desarrollo_logs
  • negocio
  • negocio_auditoria
  • produccion
  • produccion_logs
  • public
  • referencia

Mis preguntas son:

  1. está bien lo que hice hasta el momento?
  2. como sigo? (no me hago a la idea de como el comando migrar_base va a acomodar las bases)

Saludos, Alberto.

Buenos días Alberto. Es recomendable que la instalación sea en el esquema desarrollo, ya que es un nombre para los comandos administrativos y si te fijas en el comando guarani tiene la instancia en desarrollo, aunque el servidor sea de desarrollo, ya que al toba se le va informar que es una instancia de producción de otra forma.
Por ello te pido que instales nuevamente la aplicación pero esta vez con el esquema desarrollo.
Esto lo que va a hacer es pasarte todos los metadatos .sql a la base, entonces tendrías ya el guarani en 3.15, ojo solo los metadatos.
Luego una vez terminado ello corres el comando migrar_base y el proceso de instalación estaría terminado.
Si podés hacer esto en una máquina de desarrollo y luego hacer lo mismo en producción por si te surgen dudas y comentarlas acá estaría mejor para evitar inconvenientes en la producción

Saludos.

Estimado José,

esto se nos está haciendo algo complejo,… veamos supongamos que hacemos la instalación como si fuera desarrollo, te recuerdo que estamos haciendo una instalación de la versión 3.15 en un servidor nuevo ya que en el servidor donde tenemos la 3.10 no podíamos hacer las actualizaciones de las versiones de todos los paquetes necesarios.

También nos estamos encontrando con que el proceso de instalación es cada vez más largo y complejo (del instructivo de la 3.14 al de la 3.15 se han agregado más pasos y así) y por otro lado aparentemente han hecho un merge entre un instructivo de instalación en desarrollo y otro de instalación en producción, entiendo que para unificar o simplificar pero, algunas cosas han quedado algo confusas, al menos para mi.

Volviendo al caso. hemos creado en el svn del siu nuestra versión de producción de 4 números como recomiendan (3.15.1.1) ya que hasta ahora no la teníamos y pretendemos tener una instalación de producción. No tenemos personalizaciones hasta ahora y por el momento no planeamos tenerlas (aunque posiblemente no podamos sostener esto en el tiempo). Pensábamos manejarnos solo con una instalación de producción, sin desarrollo. Por supuesto teniendo un servidor alternativo al de producción, pero con la misma lógica de instalación del de producción para hacer pruebas nosotros y los usuarios antes de cada avance de versión. por lo que entiendo de lo que me decís esto no sería posible, por favor confirmame si es así.

Respecto de la migración de la base de datos de 3.10 a 3.15 nos sigue generando dudas como se haría. Volviendo a nuestro caso de las dos bases en donde nos quedó las base “guarani3” (de la 3.15) y restauramos la en la base “guarani_sec” (de la versión 3.10) ambas quedaron con distintos esquemas y no nos queda claro como sería la migración (renombrar bases, a cual apuntar, si el migrador lo hace solo, que parámetros pasarle, etc…).

Necesitamos orientación con este tema. Sabemos que es complejo por acá, veamos si nos pueden asistir por otros medios.
Saludos, Alberto

Hola,

Para que la instalación de la versión 3.15 de Guaraní quede en la base de datos ‘guarani3’ deberias:

  1. Modificar el archivo de inicialización ‘bases.ini’ cambiando la entrada del proyecto Guaraní de:
    base = “guarani3”
    schema = “negocio”
    a
    base = “guarani_sec”
    schema = “negocio”
  2. Ejecutar el comando ‘guarani migrar_base’.
  3. Revertir el paso 1. Esto es, volver a modificar el archivo ‘bases.ini’ cambiando la entrada del proyecto Guaraní (‘guarani_sec’ a ‘guarani3’).
  4. Hacer un dump del esquema ‘negocio’ de ‘guarani_sec’ (usando pg_dump, el modificador “-n” tiene en cuenta sólo el esquema indicado).
  5. Borrar el esquema ‘negocio’ de ‘guarani3’.
  6. Cargar el dump del esquema ‘negocio’ hecho en el paso 4. en la base de datos ‘guarani3’.

Cualquier duda consultanos.
Saludos, Florencia.

Alberto,

Respecto a la instalación en modo producción, no es necesario que cambien el nombre de la instancia de ‘desarrollo’ a ‘produccion’. Ese nombre es irrelevante y cambiarlo les va a traer más problemas que soluciones.
Lo que recomendamos es hacer una instalación normal (como la de desarrollo) pero apuntando a la versión propia de 4 dígitos y luego configurarla como de producción siguiendo las secciones “Configuraciones adicionales” y “Desinstalar proyectos de desarrollo” del instructivo.

Respecto a las pruebas, lo ideal es tener una instalación de testing que esté configurada igual a la de producción.

Saludos, Florencia.

Muchas gracias a todos por la orientación recibida.

Pude hacer la actualización de la base sobre el restore y hacer el dump del esquema “negocio” de una base y subirlo en la otra. Ahora estoy probando la nueva versión, por el momento sin problemas.

Tengo una consulta más, solo el esquema “negocio” hay que pasar de una base a la otra, el esquema “negocio_auditoria” no?

Nuevamente gracias.
Saludos, Alberto.

Hola Alberto,

Si tenían la auditoria activada, el comando ‘migrar_base’ hizo la migración de la misma. Podrían entonces copiar el esquema ‘negocio_auditoria’ de la base de datos ‘guarani_sec’ a ‘guarani3’ (siguiendo los pasos 4, 5 y 6 que indiqué para el esquema ‘negocio’). De esta manera no se pierden los datos de la auditoria.

Saludos, Florencia.