diff --git a/odoo-tecnativa/hooks/postgres_database-relation-joined b/odoo-tecnativa/hooks/postgres_database-relation-joined index 5cb9d1c..0e7a521 100755 --- a/odoo-tecnativa/hooks/postgres_database-relation-joined +++ b/odoo-tecnativa/hooks/postgres_database-relation-joined @@ -41,7 +41,6 @@ services: PGDATABASE: \"$DBNAME\" PGPASSWORD: \"$PASSWORD\" PGUSER: \"$USER\" - #DBFILTER: $DBNAME ADMIN_PASSWORD: \"$ADMIN_PASSWORD\" " @@ -60,6 +59,59 @@ odoo_uid=$(get_odoo_uid) chown "$odoo_uid" "$CONFIG" && chmod 600 "$CONFIG" +if ! out=$(echo "SELECT datname FROM pg_database;" | sql postgres 2>&1); then + warn "Failed to get database list" >&2 + printf "%s\n" "$out" | prefix " " >&2 + ## We don't have access to database list, so... + + ## if we have a dbfilter set, complain. + if dbfilter=$(options-get dbfilter 2>&1) && [ -n "$dbfilter" ]; then + err "Cannot set ${WHITE}dbfilter${NORMAL} without access to db list" + echo " You don't seem to have access rights on" \ + "${DARKYELLOW}$TARGET_SERVICE_NAME${NORMAL} to" \ + "the database list" >&2 + echo " So you cannot set" \ + "${WHITE}dbfilter${NORMAL} option in" \ + "${DARKYELLOW}$SERVICE_NAME${NORMAL} options." >&2 + exit 1 + fi + + service_base_image_export_dir \ + "$MASTER_BASE_SERVICE_NAME" \ + /opt/odoo/custom/src/odoo/odoo/sql_db.py \ + "$SERVICE_CONFIGSTORE/odoo-sql_db.py" + + chown "$odoo_uid" "$SERVICE_CONFIGSTORE/odoo-sql_db.py" + + patch -d "$SERVICE_CONFIGSTORE" -p0 < /dev/null 2>&1 && break + sleep 1 +done