diff options
author | Jose M. Guisado <jguisado@soleta.eu> | 2021-04-19 09:26:31 +0000 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2021-04-20 11:27:21 +0200 |
commit | 7d74d42c79fb2747e42b4d9e2743abbc86a5354c (patch) | |
tree | f8840f79dc05a2862168231d7d6df6390462acc1 /src/main.c | |
parent | c2c6ce93b1feecbcc79b4d52cf68823f14e88410 (diff) |
#1042 Update database schema automatically
This patch adds database schema management capabilities to ogServer:
- ogServer now tracks the version of its database schema, if no version
is detected, creates a 'version' table with a single row starting at 0.
- ogServer can upgrade its database schema to a newer version if
detected. (ogServer ships required SQL commands to do so)
If ogServer is unable to upgrade the schema at startup (if needed be) it
*will not* start.
Defines schema update v1 which upgrades database engine tables of
ogServer database (usually named 'ogAdmBD') from myISAM to innoDB.
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -87,6 +87,9 @@ int main(int argc, char *argv[]) ev_io_init(&ev_io_agent_rest, og_server_accept_cb, socket_agent_rest, EV_READ); ev_io_start(og_loop, &ev_io_agent_rest); + if (og_dbi_schema_update() < 0) + exit(EXIT_FAILURE); + if (og_dbi_schedule_get() < 0) { syslog(LOG_ERR, "Cannot connect to database\n"); exit(EXIT_FAILURE); |