diff options
author | Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> | 2024-03-19 12:41:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-19 12:41:23 +0200 |
commit | 3245ee590f0591320cac54d35715b9208d98d17d (patch) | |
tree | e81c46a6d5196c6f2c5f57a67f8d4e74f1945005 /src | |
parent | 9d76a167f8d3a53ad03a59b5e3a873273bad5e8e (diff) |
Handle agents will wrong alert_hash table definition (#17197)
Redo migration to handle agents will wrong alert_hash table definition
Diffstat (limited to 'src')
-rw-r--r-- | src/database/sqlite/sqlite_db_migration.c | 19 | ||||
-rw-r--r-- | src/database/sqlite/sqlite_metadata.c | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/database/sqlite/sqlite_db_migration.c b/src/database/sqlite/sqlite_db_migration.c index 6fd7f6ad65..0131c4bf6b 100644 --- a/src/database/sqlite/sqlite_db_migration.c +++ b/src/database/sqlite/sqlite_db_migration.c @@ -161,6 +161,16 @@ const char *database_migrate_v16_v17[] = { NULL }; +// Note: Same as database_migrate_v16_v17. This is not wrong +// Do additional migration to handle agents that created wrong alert_hash table +const char *database_migrate_v17_v18[] = { + "ALTER TABLE alert_hash ADD time_group_condition INT", + "ALTER TABLE alert_hash ADD time_group_value DOUBLE", + "ALTER TABLE alert_hash ADD dims_group INT", + "ALTER TABLE alert_hash ADD data_source INT", + NULL +}; + static int do_migration_v1_v2(sqlite3 *database) { @@ -447,6 +457,14 @@ static int do_migration_v16_v17(sqlite3 *database) return 0; } +static int do_migration_v17_v18(sqlite3 *database) +{ + if (table_exists_in_database(database, "alert_hash") && !column_exists_in_table(database, "alert_hash", "time_group_condition")) + return init_database_batch(database, &database_migrate_v17_v18[0], "meta_migrate"); + + return 0; +} + static int do_migration_v12_v13(sqlite3 *database) { @@ -546,6 +564,7 @@ DATABASE_FUNC_MIGRATION_LIST migration_action[] = { {.name = "v14 to v15", .func = do_migration_v14_v15}, {.name = "v15 to v16", .func = do_migration_v15_v16}, {.name = "v16 to v17", .func = do_migration_v16_v17}, + {.name = "v17 to v18", .func = do_migration_v17_v18}, // the terminator of this array {.name = NULL, .func = NULL} }; diff --git a/src/database/sqlite/sqlite_metadata.c b/src/database/sqlite/sqlite_metadata.c index b97f0ebae8..86ecee1f68 100644 --- a/src/database/sqlite/sqlite_metadata.c +++ b/src/database/sqlite/sqlite_metadata.c @@ -4,7 +4,7 @@ #include "sqlite3recover.h" //#include "sqlite_db_migration.h" -#define DB_METADATA_VERSION 17 +#define DB_METADATA_VERSION 18 const char *database_config[] = { "CREATE TABLE IF NOT EXISTS host(host_id BLOB PRIMARY KEY, hostname TEXT NOT NULL, " |