summaryrefslogtreecommitdiffstats
path: root/schema/pgsql-migrations/upgrade_114.sql
diff options
context:
space:
mode:
Diffstat (limited to 'schema/pgsql-migrations/upgrade_114.sql')
-rw-r--r--schema/pgsql-migrations/upgrade_114.sql63
1 files changed, 63 insertions, 0 deletions
diff --git a/schema/pgsql-migrations/upgrade_114.sql b/schema/pgsql-migrations/upgrade_114.sql
new file mode 100644
index 0000000..6bd3f18
--- /dev/null
+++ b/schema/pgsql-migrations/upgrade_114.sql
@@ -0,0 +1,63 @@
+CREATE TABLE icinga_service_set (
+ id serial,
+ host_id integer NOT NULL,
+ object_name character varying(128) NOT NULL,
+ object_type enum_object_type_all NOT NULL,
+ description text NOT NULL,
+ PRIMARY KEY (id)
+);
+
+CREATE UNIQUE INDEX service_set_name ON icinga_service_set (object_name, host_id);
+
+
+CREATE TABLE icinga_service_set_service (
+ service_set_id serial,
+ service_id serial,
+ PRIMARY KEY (service_set_id, service_id),
+ CONSTRAINT icinga_service_set_set
+ FOREIGN KEY (service_set_id)
+ REFERENCES icinga_service_set (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT icinga_service_set_service
+ FOREIGN KEY (service_id)
+ REFERENCES icinga_service (id)
+ ON DELETE RESTRICT
+ ON UPDATE CASCADE
+);
+
+
+CREATE TABLE icinga_service_set_assignment (
+ id serial,
+ service_set_id integer NOT NULL,
+ filter_string text NOT NULL,
+ assign_type enum_assign_type NOT NULL DEFAULT 'assign',
+ PRIMARY KEY (id),
+ CONSTRAINT icinga_service_set_assignment
+ FOREIGN KEY (service_set_id)
+ REFERENCES icinga_service_set (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+
+CREATE TABLE icinga_service_set_var (
+ service_set_id integer NOT NULL,
+ varname character varying(255) NOT NULL,
+ varvalue text DEFAULT NULL,
+ format enum_property_format NOT NULL DEFAULT 'string',
+ PRIMARY KEY (service_set_id, varname),
+ CONSTRAINT icinga_service_set_var_service_set
+ FOREIGN KEY (service_set_id)
+ REFERENCES icinga_service_set (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+CREATE INDEX service_set_var_service_set ON icinga_service_set_var (service_set_id);
+CREATE INDEX service_set_var_search_idx ON icinga_service_set_var (varname);
+
+
+INSERT INTO director_schema_migration
+ (schema_version, migration_time)
+ VALUES (114, NOW());