[NEW] add first version of 0k Odoo Upgrade scripts
This commit is contained in:
51
16.0/pre_upgrade.sh
Normal file
51
16.0/pre_upgrade.sh
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
DB_CONTAINER_NAME="lokavaluto_postgres_1"
|
||||
|
||||
# Function to launch an SQL request to the postgres container
|
||||
query_postgres_container(){
|
||||
local query="$1"
|
||||
if [ -z "$query" ]; then
|
||||
return 0
|
||||
fi
|
||||
local result
|
||||
if ! result=$(docker exec -u 70 "$DB_CONTAINER_NAME" psql -d ou16 -t -A -c "$query" 2>&1); then
|
||||
printf "Failed to execute SQL query: %s\n" "$query" >&2
|
||||
printf "Error: %s\n" "$result" >&2
|
||||
exit 1
|
||||
fi
|
||||
# Remove leading/trailing whitespace from result
|
||||
result=$(echo "$result" | xargs)
|
||||
echo "$result"
|
||||
}
|
||||
|
||||
echo "Prepare migration to 16.0..."
|
||||
|
||||
# Copy database
|
||||
docker exec -u 70 "$DB_CONTAINER_NAME" pgm cp -f ou15 ou16@ou16
|
||||
|
||||
# Execute SQL pre-migration commands
|
||||
PRE_MIGRATE_SQL=$(cat <<'EOF'
|
||||
/* Remove duplicate entries in model utm.source */
|
||||
DELETE FROM utm_source
|
||||
WHERE id IN (
|
||||
SELECT id
|
||||
FROM (
|
||||
SELECT id,
|
||||
ROW_NUMBER() OVER (PARTITION BY name ORDER BY id) as row_num
|
||||
FROM utm_source
|
||||
) t
|
||||
WHERE t.row_num > 1
|
||||
);
|
||||
EOF
|
||||
)
|
||||
echo "SQL command = $PRE_MIGRATE_SQL"
|
||||
query_postgres_container "$PRE_MIGRATE_SQL"
|
||||
|
||||
|
||||
# Copy filestores
|
||||
rm -rf /srv/datastore/data/ou16/var/lib/odoo/filestore/ou16/* || exit 1
|
||||
mkdir /srv/datastore/data/ou16/var/lib/odoo/filestore/ou16/* || exit 1
|
||||
cp -a /srv/datastore/data/ou15/var/lib/odoo/filestore/ou15/* /srv/datastore/data/ou16/var/lib/odoo/filestore/ou16/ || exit 1
|
||||
|
||||
echo "Ready for migration to 16.0!"
|
Reference in New Issue
Block a user