imp: factorize database copy process

This commit is contained in:
Stéphan Sainléger
2024-11-26 10:47:10 +01:00
parent c54cbe125b
commit 09a855258e
5 changed files with 14 additions and 5 deletions

View File

@@ -3,7 +3,7 @@
echo "Prepare migration to 13.0..." echo "Prepare migration to 13.0..."
# Copy database # Copy database
docker exec -u 70 "$DB_CONTAINER_NAME" pgm cp -f ou12 ou13@ou13 copy_database ou12 ou13 ou13 || exit 1
# Execute SQL pre-migration commands # Execute SQL pre-migration commands
PRE_MIGRATE_SQL=$(cat <<'EOF' PRE_MIGRATE_SQL=$(cat <<'EOF'

View File

@@ -3,7 +3,7 @@
echo "Prepare migration to 14.0..." echo "Prepare migration to 14.0..."
# Copy database # Copy database
docker exec -u 70 "$DB_CONTAINER_NAME" pgm cp -f ou13 ou14@ou14 copy_database ou13 ou14 ou14 || exit 1
# Execute SQL pre-migration commands # Execute SQL pre-migration commands
PRE_MIGRATE_SQL="" PRE_MIGRATE_SQL=""

View File

@@ -3,7 +3,7 @@
echo "Prepare migration to 15.0..." echo "Prepare migration to 15.0..."
# Copy database # Copy database
docker exec -u 70 "$DB_CONTAINER_NAME" pgm cp -f ou14 ou15@ou15 copy_database ou14 ou15 ou15 || exit 1
# Execute SQL pre-migration commands # Execute SQL pre-migration commands
PRE_MIGRATE_SQL=$(cat <<'EOF' PRE_MIGRATE_SQL=$(cat <<'EOF'

View File

@@ -3,7 +3,7 @@
echo "Prepare migration to 16.0..." echo "Prepare migration to 16.0..."
# Copy database # Copy database
docker exec -u 70 "$DB_CONTAINER_NAME" pgm cp -f ou15 ou16@ou16 copy_database ou15 ou16 ou16 || exit 1
# Execute SQL pre-migration commands # Execute SQL pre-migration commands
PRE_MIGRATE_SQL=$(cat <<'EOF' PRE_MIGRATE_SQL=$(cat <<'EOF'

View File

@@ -61,6 +61,15 @@ query_postgres_container(){
} }
export -f query_postgres_container export -f query_postgres_container
# Function to copy the postgres databases
copy_database(){
local FROM_DB="$1"
local TO_SERVICE="$2"
local TO_DB="$3"
docker exec -u 70 "$POSTGRES_SERVICE_NAME" pgm cp -f "$FROM_DB" "$TO_DB"@"$TO_SERVICE"
}
export -f copy_database
# Function to copy the filetores # Function to copy the filetores
copy_filestore(){ copy_filestore(){
local FROM_SERVICE="$1" local FROM_SERVICE="$1"
@@ -126,7 +135,7 @@ echo "
echo "UPGRADE: Start copy" echo "UPGRADE: Start copy"
# Copy database # Copy database
docker exec -u 70 $POSTGRES_SERVICE_NAME pgm cp -f "$ORIGIN_DB_NAME" "${COPY_DB_NAME}@${COPY_DB_NAME}" || exit 1 copy_database "$ORIGIN_DB_NAME" "$COPY_DB_NAME" "$COPY_DB_NAME" || exit 1
echo "UPGRADE: original database copied in ${COPY_DB_NAME}@${COPY_DB_NAME}." echo "UPGRADE: original database copied in ${COPY_DB_NAME}@${COPY_DB_NAME}."
# Copy filestore # Copy filestore