#!/bin/bash set -euo pipefail DB_NAME="$1" ODOO_SERVICE="$2" FINALE_SQL=$(cat <<'EOF' /*Delete sequences that prevent Odoo to start*/ drop sequence base_registry_signaling; drop sequence base_cache_signaling; EOF ) query_postgres_container "$FINALE_SQL" "$DB_NAME" || exit 1 # Fix duplicated views PYTHON_SCRIPT=post_migration_fix_duplicated_views.py echo "Remove duplicated views with script $PYTHON_SCRIPT ..." exec_python_script_in_odoo_shell "$DB_NAME" "$DB_NAME" "$PYTHON_SCRIPT" || exit 1 # Reset all website templates with custom content FINALE_SQL_2=$(cat <<'EOF' UPDATE ir_ui_view SET arch_db = NULL WHERE arch_fs IS NOT NULL AND arch_fs LIKE 'website/%' AND arch_db IS NOT NULL AND id NOT IN (SELECT view_id FROM website_page); EOF ) query_postgres_container "$FINALE_SQL_2" "$DB_NAME" || exit 1 # Purge QWeb cache from compiled assets FINALE_SQL_3=$(cat <<'EOF' DELETE FROM ir_attachment WHERE name LIKE '/web/assets/%' OR name LIKE '%.assets_%' OR (res_model = 'ir.ui.view' AND mimetype = 'text/css'); EOF ) query_postgres_container "$FINALE_SQL_3" "$DB_NAME" || exit 1 # Uninstall obsolette add-ons PYTHON_SCRIPT=post_migration_cleanup_obsolete_modules.py echo "Uninstall obsolete add-ons with script $PYTHON_SCRIPT ..." exec_python_script_in_odoo_shell "$DB_NAME" "$DB_NAME" "$PYTHON_SCRIPT" || exit 1 # Give back the right to user to access to the tables # docker exec -u 70 "$DB_CONTAINER_NAME" pgm chown "$FINALE_SERVICE_NAME" "$DB_NAME" # Launch Odoo with database in finale version to run all updates compose --debug run "$ODOO_SERVICE" -u all --log-level=debug --stop-after-init --no-http