Last time I worked with Odoo (v15/v16, enterprise, self hosted) we had to send a dump of the production database over to you to be migrated to the new version and then it was sent back. The upgrade path for third-party and custom addons was not defined.
And since it is Odoo, everything is in that database: from employee's time tracking to customer support chats, from stock info to accounting data, from e-mail addresses to password hashes. I found this inacceptable but at that point we had no choice.
What's the state here?