summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2021-04-19 09:26:31 +0000
committerOpenGnSys Support Team <soporte-og@soleta.eu>2021-04-20 11:27:21 +0200
commit7d74d42c79fb2747e42b4d9e2743abbc86a5354c (patch)
treef8840f79dc05a2862168231d7d6df6390462acc1 /src/main.c
parentc2c6ce93b1feecbcc79b4d52cf68823f14e88410 (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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 36b2fe0..ea04a2b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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);