From e30a8b987be3cd56a625496b7eceacdfdae67e8a Mon Sep 17 00:00:00 2001 From: Anthony SUZANNE <a.suzanne@alkante.com> Date: Fri, 7 Mar 2025 17:48:38 +0100 Subject: [PATCH] Upgrade Move prodige URL DB with command from Admin --- bin/move_prodige_url_db.sh | 115 ++++++++++++------------------------- 1 file changed, 37 insertions(+), 78 deletions(-) diff --git a/bin/move_prodige_url_db.sh b/bin/move_prodige_url_db.sh index 53b3e8a..dcb1ec0 100755 --- a/bin/move_prodige_url_db.sh +++ b/bin/move_prodige_url_db.sh @@ -389,69 +389,39 @@ function validation { } -function get_db_parameters { - logOkStep "Get parameters from configuration files" - PARAM_FILE="${DOCKERDIR}/data/conf/global.env.local" - user_bdd=$(eval echo $(awk -F'=' '/CATALOGUE_USER/ { print $2 }' ${PARAM_FILE})) - pass_bdd=$(eval echo $(awk -F'=' '/CATALOGUE_PASSWORD/ { print $2 }' ${PARAM_FILE})) - CATALOGUE_DB=$(eval echo $(awk -F'=' '/CATALOGUE_NAME/ { print $2 }' ${PARAM_FILE})) - PRODIGE_DB=$(eval echo $(awk -F'=' '/PRODIGE_NAME/ { print $2 }' ${PARAM_FILE})) - host_bdd=$(eval echo $(awk -F'=' '/PRODIGE_HOST/ { print $2 }' ${PARAM_FILE})) - echo "user_bdd=$user_bdd" - echo "CATALOGUE_DB=$CATALOGUE_DB" - echo "PRODIGE_DB=$PRODIGE_DB" - echo "host_bdd=$host_bdd" -} - -function set_db { - logOkStep "(${CATALOGUE_DB}) Setting system/server/host in public.settings" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select value from public.settings where name='system/server/host'" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "update public.settings set value='${CATALOGUE}${DOMAIN}' where name='system/server/host';" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select value from public.settings where name='system/server/host'" - - logOkStep "(${CATALOGUE_DB}) Setting metadata/resourceIdentifierPrefix in public.settings" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select value from public.settings where name='metadata/resourceIdentifierPrefix'" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "update public.settings set value='https://${CATALOGUE}${DOMAIN}/geonetwork/srv/' where name='metadata/resourceIdentifierPrefix';" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select value from public.settings where name='metadata/resourceIdentifierPrefix'" - - logOkStep "(${PRODIGE_DB}) Setting account_hostpostgres, account_passwordpostgres, account_userpostgres, account_dbpostgres in carmen.account" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select account_hostpostgres, account_passwordpostgres, account_userpostgres, account_dbpostgres from carmen.account" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "update carmen.account set account_hostpostgres = '${host_bdd}', account_passwordpostgres = '${pass_bdd}', account_userpostgres = '${user_bdd}' where account_dbpostgres = '${PRODIGE_DB}';" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select account_hostpostgres, account_passwordpostgres, account_userpostgres, account_dbpostgres from carmen.account" - - TRAILINGDOMAIN=${DOMAIN:1:${#DOMAIN}} - logOkStep "(${PRODIGE_DB}) Setting dns_url in carmen.lex_dns" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select dns_url from carmen.lex_dns" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "update carmen.lex_dns set dns_url = '${TRAILINGDOMAIN}';" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select dns_url from carmen.lex_dns" -} - -function change_db { - OLD=(${OLDADMINCARTO} ${OLDADMIN} ${OLDCARTO} ${OLDCAS} ${OLDCATALOGUE} ${OLDCONTRIBUTION} ${OLDDATACARTO} ${OLDDATAVIZ} ${OLDMAPSERV} ${OLDPRINT} ${OLDTABLE} ${OLDTELECHARGEMENT} ${OLDTRAITEMENT} ${OLDVUES}) - NEW=(${ADMINCARTO} ${ADMIN} ${CARTO} ${CAS} ${CATALOGUE} ${CONTRIBUTION} ${DATACARTO} ${DATAVIZ} ${MAPSERV} ${PRINT} ${TABLE} ${TELECHARGEMENT} ${TRAITEMENT} ${VUES}) - # Before - # docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select data from public.metadata" - logOkStep "(${PRODIGE_DB} before) layer_metadata_file from carmen.layer" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select layer_metadata_file from carmen.layer" - logOkStep "(${PRODIGE_DB} before) wxs_url from carmen.wxs" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select wxs_url from carmen.wxs" - for i in ${!OLD[@]}; do - logOkStep "(${CATALOGUE_DB}) Replacing ${OLD[i]}$OLDDOMAIN by ${NEW[i]}$DOMAIN in public.metadata" - # docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select data from public.metadata" - docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "update public.metadata set data = replace(data, '${OLD[i]}$OLDDOMAIN', '${NEW[i]}$DOMAIN');" - - logOkStep "(${PRODIGE_DB}) Replacing ${OLD[i]}$OLDDOMAIN by ${NEW[i]}$DOMAIN in layer_metadata_file from carmen.layer" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "update carmen.layer set layer_metadata_file = replace(layer_metadata_file, '${OLD[i]}$OLDDOMAIN', '${NEW[i]}$DOMAIN');" - - logOkStep "(${PRODIGE_DB}) Replacing ${OLD[i]}$OLDDOMAIN by ${NEW[i]}$DOMAIN in wxs_url from carmen.wxs" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "update carmen.wxs set wxs_url = replace(wxs_url, '${OLD[i]}$OLDDOMAIN', '${NEW[i]}$DOMAIN');" - done - # After - # docker exec -u postgres prodige_database psql -d ${CATALOGUE_DB} -c "select data from public.metadata" - logOkStep "(${PRODIGE_DB} after) layer_metadata_file from carmen.layer" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select layer_metadata_file from carmen.layer" - logOkStep "(${PRODIGE_DB} after) wxs_url from carmen.wxs" - docker exec -u postgres prodige_database psql -d ${PRODIGE_DB} -c "select wxs_url from carmen.wxs" +function run_command_admin { + docker exec -u www-data -w /var/www/html/site ppr_prodige_admin_web php bin/console admin:move_url_db \ + --domain=$DOMAIN\ + --admin=$ADMIN\ + --admincarto=$ADMINCARTO\ + --carto=$CARTO\ + --cas=$CAS\ + --catalogue=$CATALOGUE\ + --contribution=$CONTRIBUTION\ + --datacarto=$DATACARTO\ + --dataviz=$DATAVIZ\ + --mapserv=$MAPSERV\ + --print=$PRINT\ + --table=$TABLE\ + --traitement=$TRAITEMENT\ + --telechargement=$TELECHARGEMENT\ + --vues=$VUES\ + --olddomain=$OLDDOMAIN\ + --oldadmin=$OLDADMIN\ + --oldadmincarto=$OLDADMINCARTO\ + --oldcarto=$OLDCARTO\ + --oldcas=$OLDCAS\ + --oldcatalogue=$OLDCATALOGUE\ + --oldcontribution=$OLDCONTRIBUTION\ + --olddatacarto=$OLDDATACARTO\ + --olddataviz=$OLDDATAVIZ\ + --oldmapserv=$OLDMAPSERV\ + --oldprint=$OLDPRINT\ + --oldtable=$OLDTABLE\ + --oldtraitement=$OLDTRAITEMENT\ + --oldtelechargement=$OLDTELECHARGEMENT\ + --oldvues=$OLDVUES + ifCmdFailStep "ppr_prodige_admin container is not running. Please start appropriate docker-compose." } ######################################################################################################################################## @@ -606,8 +576,7 @@ if [[ $(id -u) -ne 0 ]] ; then fi # Step - -NB_STEP_AL=4 +NB_STEP_AL=3 STEP_AL=1 MODE="Validation" @@ -615,19 +584,9 @@ logOkStep "Validation of variables" validation STEP_AL=2 -MODE="GetDatabaseParameters" -logOkStep "Get database parameters" -get_db_parameters - -STEP_AL=3 -MODE="SetDatabaseValues" -logOkStep "Set database values" -set_db - -STEP_AL=4 -MODE="ReplaceDatabaseValues" -logOkStep "Replace database values" -change_db +MODE="RunCommand" +logOkStep "Run command from Admin service" +run_command_admin logOk "End of ${SCRIPTNAME}" # End -- GitLab