From c62d5ef56cf725eb068560b15a8bce060ac3521b Mon Sep 17 00:00:00 2001 From: Gregory Hargreaves Date: Fri, 19 Oct 2018 14:30:39 +0100 Subject: [PATCH] Added Schema migrations for the servicegroup resolved cache. --- schema/mysql-migrations/upgrade_155.sql | 19 +++++++++++++++++++ schema/mysql.sql | 16 ++++++++++++++++ schema/pgsql-migrations/upgrade_155.sql | 22 ++++++++++++++++++++++ schema/pgsql.sql | 19 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 schema/mysql-migrations/upgrade_155.sql create mode 100644 schema/pgsql-migrations/upgrade_155.sql diff --git a/schema/mysql-migrations/upgrade_155.sql b/schema/mysql-migrations/upgrade_155.sql new file mode 100644 index 00000000..eb436dc5 --- /dev/null +++ b/schema/mysql-migrations/upgrade_155.sql @@ -0,0 +1,19 @@ +CREATE TABLE icinga_servicegroup_service_resolved ( + servicegroup_id INT(10) UNSIGNED NOT NULL, + service_id INT(10) UNSIGNED NOT NULL, + PRIMARY KEY (servicegroup_id, service_id), + CONSTRAINT icinga_servicegroup_service_resolved_service + FOREIGN KEY service (service_id) + REFERENCES icinga_service (id) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT icinga_servicegroup_service_resolved_servicegroup + FOREIGN KEY servicegroup (servicegroup_id) + REFERENCES icinga_servicegroup (id) + ON DELETE CASCADE + ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO director_schema_migration + (schema_version, migration_time) + VALUES (155, NOW()); \ No newline at end of file diff --git a/schema/mysql.sql b/schema/mysql.sql index b31de92f..5fa59147 100644 --- a/schema/mysql.sql +++ b/schema/mysql.sql @@ -915,6 +915,22 @@ CREATE TABLE icinga_servicegroup_service ( ON UPDATE CASCADE ) ENGINE=InnoDB; +CREATE TABLE icinga_servicegroup_service_resolved ( + servicegroup_id INT(10) UNSIGNED NOT NULL, + service_id INT(10) UNSIGNED NOT NULL, + PRIMARY KEY (servicegroup_id, service_id), + CONSTRAINT icinga_servicegroup_service_resolved_service + FOREIGN KEY service (service_id) + REFERENCES icinga_service (id) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT icinga_servicegroup_service_resolved_servicegroup + FOREIGN KEY servicegroup (servicegroup_id) + REFERENCES icinga_servicegroup (id) + ON DELETE CASCADE + ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE icinga_hostgroup_host ( hostgroup_id INT(10) UNSIGNED NOT NULL, host_id INT(10) UNSIGNED NOT NULL, diff --git a/schema/pgsql-migrations/upgrade_155.sql b/schema/pgsql-migrations/upgrade_155.sql new file mode 100644 index 00000000..0a3dbe61 --- /dev/null +++ b/schema/pgsql-migrations/upgrade_155.sql @@ -0,0 +1,22 @@ +CREATE TABLE icinga_servicegroup_service_resolved ( + servicegroup_id integer NOT NULL, + service_id integer NOT NULL, + PRIMARY KEY (servicegroup_id, service_id), + CONSTRAINT icinga_servicegroup_service_resolved_service + FOREIGN KEY (service_id) + REFERENCES icinga_service (id) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT icinga_servicegroup_service_resolved_servicegroup + FOREIGN KEY (servicegroup_id) + REFERENCES icinga_servicegroup (id) + ON DELETE CASCADE + ON UPDATE CASCADE +); + +CREATE INDEX servicegroup_service_resolved_service ON icinga_servicegroup_service_resolved (service_id); +CREATE INDEX servicegroup_service_resolved_servicegroup ON icinga_servicegroup_service_resolved (servicegroup_id); + +INSERT INTO director_schema_migration + (schema_version, migration_time) + VALUES (155, NOW()); \ No newline at end of file diff --git a/schema/pgsql.sql b/schema/pgsql.sql index 4b0bb250..700672e1 100644 --- a/schema/pgsql.sql +++ b/schema/pgsql.sql @@ -1080,6 +1080,25 @@ CREATE TABLE icinga_servicegroup ( CREATE UNIQUE INDEX servicegroup_object_name ON icinga_servicegroup (object_name); CREATE INDEX servicegroup_search_idx ON icinga_servicegroup (display_name); +CREATE TABLE icinga_servicegroup_service_resolved ( + servicegroup_id integer NOT NULL, + service_id integer NOT NULL, + PRIMARY KEY (servicegroup_id, service_id), + CONSTRAINT icinga_servicegroup_service_resolved_service + FOREIGN KEY (service_id) + REFERENCES icinga_service (id) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT icinga_servicegroup_service_resolved_servicegroup + FOREIGN KEY (servicegroup_id) + REFERENCES icinga_servicegroup (id) + ON DELETE CASCADE + ON UPDATE CASCADE +); + +CREATE INDEX servicegroup_service_resolved_service ON icinga_servicegroup_service_resolved (service_id); +CREATE INDEX servicegroup_service_resolved_servicegroup ON icinga_servicegroup_service_resolved (servicegroup_id); + CREATE TABLE icinga_servicegroup_inheritance ( servicegroup_id integer NOT NULL,