En ocasiones, el flyway se desconfigura de los migrations y se ejecutan operaciones de delete en la tabla flyway_history, los cuales deben ser eliminados.
Para ello seguir los siguientes pasos:
Ingresar a docker de Facturasend
docker exec -it facturasend /bin/bash
En la carpeta por defecto, donde entra, ejecutar los scripts SQL:
Obs: La carpeta para ejecutar los scripts es /opt/facturacionelectronicadeploy/server
Schemas de Empresas
psql -h $bd_host -p $bd_port -d $bd_database -U $bd_user -At -c "SELECT schema_name::varchar as databaseListForBackup
FROM information_schema.schemata
WHERE catalog_name = '$bd_database'
AND schema_name NOT LIKE 'pg_%'
AND schema_name != 'information_schema' AND schema_name != 'public';" \
| while read -a Record ; do
schema=${Record[0]}
psql -h $bd_host -p $bd_port -d $bd_database -U $bd_user -At -c "SET search_path to ${schema};DELETE FROM flyway_schema_history WHERE type='DELETE'"
flyway -user=$bd_user -password=$bd_password -url=jdbc:postgresql://$bd_host:$bd_port/$bd_database \
-locations=filesystem:migrations/client_schema -createSchemas=false -defaultSchema=${schema} -schemas=${schema} repair
echo " "
flyway -user=$bd_user -password=$bd_password -url=jdbc:postgresql://$bd_host:$bd_port/$bd_database \
-locations=filesystem:migrations/client_schema -createSchemas=false -defaultSchema=${schema} -schemas=${schema} migrate
echo " "
echo " "
done
Esquema Publico
psql -h $bd_host -p $bd_port -d $bd_database -U $bd_user -At -c "SELECT schema_name::varchar as databaseListForBackup
FROM information_schema.schemata
WHERE catalog_name = '$bd_database'
AND schema_name = 'public';" \
| while read -a Record ; do
schema=${Record[0]}
psql -h $bd_host -p $bd_port -d $bd_database -U $bd_user -At -c "SET search_path to ${schema};DELETE FROM flyway_schema_history WHERE type='DELETE'"
flyway -user=$bd_user -password=$bd_password -url=jdbc:postgresql://$bd_host:$bd_port/$bd_database -locations=filesystem:migrations/public_schema -createSchemas=false -defaultSchema=public -schemas=public repair
echo " "
flyway -user=$bd_user -password=$bd_password -url=jdbc:postgresql://$bd_host:$bd_port/$bd_database -locations=filesystem:migrations/public_schema -createSchemas=false -defaultSchema=public -schemas=public migrate
echo " "
echo " "
done




