From 69a037f22d2696ebbe586caaf096470ce8a45589 Mon Sep 17 00:00:00 2001 From: Konstantinos Samaras-Tsakiris <konstantinos.samaras-tsakiris@cern.ch> Date: Mon, 21 Mar 2022 23:25:59 +0100 Subject: [PATCH] Log progress --- .../reset-auto-increment_all-sites.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/scripts/admin/auto-increment/reset-auto-increment_all-sites.sh b/scripts/admin/auto-increment/reset-auto-increment_all-sites.sh index 4080d54..e1d3385 100755 --- a/scripts/admin/auto-increment/reset-auto-increment_all-sites.sh +++ b/scripts/admin/auto-increment/reset-auto-increment_all-sites.sh @@ -1,12 +1,19 @@ #!/bin/bash +# This script fixes issue https://gitlab.cern.ch/webservices/webframeworks-planning/-/issues/885 +# It accesses the database of every website, iterates over a list of tables, +# and for each {website,table} it resets the auto_increment +# which broke after the first Drupal 9.3 upgrade. + + +PATH="$PATH:~/k8s-migrate/" # 1. Get all the DB credentials # Decode them # And store them in a single line each in a file. Each line is a JSON for a single site. -#oc get -o json secret -l dbcredentials -A | \ -# jq -r '.items[] | .data[] |= @base64d | {"name": (.metadata.namespace + .metadata.name), "data": .data}' | \ -# jq -r -c '{"name":.name} + {"data": (.data | to_entries | map(("export "+.key+"="+.value)))}' > secrets.json +oc get -o json secret -l dbcredentials -A | \ + jq -r '.items[] | .data[] |= @base64d | {"name": (.metadata.namespace + .metadata.name), "data": .data}' | \ + jq -r -c '{"name":.name} + {"data": (.data | to_entries | map(("export "+.key+"="+.value)))}' > secrets.json # 2. Create a DB env file for each site @@ -23,7 +30,6 @@ while IFS= read -r siteJSON; do done < secrets.json # 3. Perform the operation for each DB -# reset-auto-increment.sh TABLES_FILE="`dirname $0`/tables-primarykey" @@ -42,6 +48,7 @@ reset_table(){ export -f reset_table for site in `ls sites`; do + echo "> $site" | tee -a "`basename $0`.log" . "sites/$site" cat "$TABLES_FILE" | xargs -L1 bash -c 'reset_table $1' done -- GitLab