Actualizacion
Actualización
Entre las actuales versiones de Araí Documentos del tipo 1.0.x no existen grandes cambios de estructura y bases de datos, las migraciones consisten en reemplazar el codigo existente con algunos cambios en las variables que se requieren para configurar el proyecto y algunos cambios en chicos sobre la base de datos
A continuación se describen los pasos para realizar la actualización de versión.
NO OLVIDE REALIZAR UNA COPIA DE SEGURIDAD DE LA APLICACIÓN Y LAS BASES DE DATOS ANTES DE CONTINUAR
Consideraciones iniciales
- Existe una version previa instalada de Araí Documentos 1.0.x
- Tener en cuenta que se va a modificar la estructura de Postgres
- Se deberá realizar un despliegue con imágenes Docker
Procedimiento
API y Worker
Pendiente
Backups de las base de datos
- Realizar el backup de PostgreSQL de manera preventiva
pg_dump -b -O -x --clean --create --disable-triggers --if-exists -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -d ${DB_DBNAME} -f dump_10x.sql
Actualizar Base de Datos: 1.0.4 a 1.0.5 o superior
- Descargar modelo.sql
git clone --depth 1 --branch {ID_VERSION} https://hub.siu.edu.ar/siu-arai/docs-api.git
cd docs-api
Modelo en sql/modelo.sql
También puede descargar de la imagen de Docker descargada
id=$(docker create hub.siu.edu.ar:5005/siu-arai/docs-api:{ID_VERSION})
docker cp $id:/usr/local/app/sql/modelo.sql modelo.sql
docker rm $id
Actualizando...
Actualización manual sobre la base de datos
su {DB_USERNAME}
psql --single-transaction {DB_DBNAME} < modelo.sql
Actualizar utilizando imagen de docker
La actualizacion mediante contenedores presenta la complejidad de que debe permitir en la configuracion de su base de datos postgres, el acceso a la IP otorgada al contenedor
docker run --rm --network {SOME_NETWORK} \
--env-file config.env \
hub.siu.edu.ar:5005/siu-arai/docs-api:{ID_VERSION} \
--db-update
- config.env debe contener todos los parametros requeridos por la aplicacion
- SOME_NETWORK en caso de poder conectarlo a la misma network de la db
- En caso de no asignar network, debe habilitar su servidor postgres para permitir acceder al container.
Por ejemplo si al contenedor se le otorgaran IPs en el rango 172.18.0.0/16 en pg_hba.conf habilitar
host all all 172.18.0.0/16 md5
. Luego de actualizar la DB, la regla puede ser descartada.