make downward compatible db-schema updates automatic
make the db upgrade happen automatic in case the schema update is 'backward compatible' (only added colums/tables) and using an older hlr again will not result in breakage
Updated by roh over 2 years ago
it seems i did not explain verbosely enough what i mean in detail:
we now have a mechanism which checks db versioning and also one which allows for schema-upgrades (when using -U)
sadly we have no 'error reporting' into the rest of the system whatsoever, so existing setups stop working when updating packages and restarting the services.
the admin has only ONE chance to find out whats wrong, and that is noticing that one of many osmo-* daemons is not running anymore by accident.
also none of the other services have any output that the hlr is not runnning/accessible.
i do not know if it would make sense to add the latter (error/warn in e.g. msc if hlr is unreachable)
but since we have not had any incompatible db-schema-updates so far (please correct me if i am wrong here),
i am suggesting running backwards-compatible db-updates automatically (while keeping a copy of the old hlr.db as hlr.db_bak_dbverX or such).
i fully understand that doing fully automatic db upgrades seem scary, but silently breaking our users setups is inviting a world of pain in customer support.
also i do not see a reason for doing that we all we did so far is ADD some colums to the db, which for sure not break any select statements of older versions.
if we really do INcompatible updates in the future, i propose bumping the db-versioning in a major/minor scheme and also explicitly warn users in the changelog/releasenotes.