1CREATE TABLE icinga_service_set (
2  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
3  object_name VARCHAR(128) NOT NULL,
4  object_type ENUM('object', 'template', 'external_object') NOT NULL,
5  host_id INT(10) UNSIGNED DEFAULT NULL,
6  description TEXT NOT NULL,
7  PRIMARY KEY (id),
8  UNIQUE KEY object_key (object_name, host_id)
9) ENGINE=InnoDB DEFAULT CHARSET=utf8;
10
11CREATE TABLE icinga_service_set_service (
12  service_set_id INT(10) UNSIGNED NOT NULL,
13  service_id INT(10) UNSIGNED NOT NULL,
14  PRIMARY KEY (service_set_id, service_id),
15  CONSTRAINT service_set_set
16    FOREIGN KEY service_set (service_set_id)
17    REFERENCES icinga_service_set (id)
18    ON DELETE CASCADE
19    ON UPDATE CASCADE,
20  CONSTRAINT service_set_service
21    FOREIGN KEY service (service_id)
22    REFERENCES icinga_service (id)
23    ON DELETE RESTRICT
24    ON UPDATE CASCADE
25) ENGINE=InnoDB DEFAULT CHARSET=utf8;
26
27CREATE TABLE icinga_service_set_assignment (
28  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
29  service_set_id INT(10) UNSIGNED NOT NULL,
30  filter_string TEXT NOT NULL,
31  assign_type ENUM('assign', 'ignore') NOT NULL DEFAULT 'assign',
32  PRIMARY KEY (id),
33  CONSTRAINT icinga_service_set_assignment
34    FOREIGN KEY service_set (service_set_id)
35    REFERENCES icinga_service_set (id)
36    ON DELETE CASCADE
37    ON UPDATE CASCADE
38) ENGINE=InnoDB;
39
40CREATE TABLE icinga_service_set_var (
41  service_set_id INT(10) UNSIGNED NOT NULL,
42  varname VARCHAR(255) NOT NULL COLLATE utf8_bin,
43  varvalue TEXT DEFAULT NULL,
44  format ENUM('string', 'expression', 'json') NOT NULL DEFAULT 'string',
45  PRIMARY KEY (service_set_id, varname),
46  CONSTRAINT icinga_service_set_var_service
47    FOREIGN KEY command (service_set_id)
48    REFERENCES icinga_service_set (id)
49    ON DELETE CASCADE
50    ON UPDATE CASCADE
51) ENGINE=InnoDB DEFAULT CHARSET=utf8;
52
53INSERT INTO director_schema_migration
54  (schema_version, migration_time)
55  VALUES (114, NOW());
56