summaryrefslogtreecommitdiffstats
path: root/schema/pgsql-migrations/upgrade_77.sql
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:43:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:43:12 +0000
commitcd989f9c3aff968e19a3aeabc4eb9085787a6673 (patch)
treefbff2135e7013f196b891bbde54618eb050e4aaf /schema/pgsql-migrations/upgrade_77.sql
parentInitial commit. (diff)
downloadicingaweb2-module-director-upstream.tar.xz
icingaweb2-module-director-upstream.zip
Adding upstream version 1.10.2.upstream/1.10.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'schema/pgsql-migrations/upgrade_77.sql')
-rw-r--r--schema/pgsql-migrations/upgrade_77.sql72
1 files changed, 72 insertions, 0 deletions
diff --git a/schema/pgsql-migrations/upgrade_77.sql b/schema/pgsql-migrations/upgrade_77.sql
new file mode 100644
index 0000000..de10121
--- /dev/null
+++ b/schema/pgsql-migrations/upgrade_77.sql
@@ -0,0 +1,72 @@
+ALTER TYPE enum_merge_behaviour ADD VALUE 'override';
+
+
+CREATE TABLE icinga_notification_states_set (
+ notification_id integer NOT NULL,
+ property enum_state_name NOT NULL,
+ merge_behaviour enum_merge_behaviour NOT NULL DEFAULT 'override',
+ PRIMARY KEY (notification_id, property, merge_behaviour),
+ CONSTRAINT icinga_notification_states_set_notification
+ FOREIGN KEY (notification_id)
+ REFERENCES icinga_notification (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+COMMENT ON COLUMN icinga_notification_states_set.merge_behaviour IS 'override: = [], extend: += [], blacklist: -= []';
+
+
+CREATE TABLE icinga_notification_types_set (
+ notification_id integer NOT NULL,
+ property enum_type_name NOT NULL,
+ merge_behaviour enum_merge_behaviour NOT NULL DEFAULT 'override',
+ PRIMARY KEY (notification_id, property, merge_behaviour),
+ CONSTRAINT icinga_notification_types_set_notification
+ FOREIGN KEY (notification_id)
+ REFERENCES icinga_notification (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+COMMENT ON COLUMN icinga_notification_types_set.merge_behaviour IS 'override: = [], extend: += [], blacklist: -= []';
+
+
+CREATE TABLE icinga_notification_var (
+ notification_id integer NOT NULL,
+ varname VARCHAR(255) DEFAULT NULL,
+ varvalue TEXT DEFAULT NULL,
+ format enum_property_format,
+ PRIMARY KEY (notification_id, varname),
+ CONSTRAINT icinga_notification_var_notification
+ FOREIGN KEY (notification_id)
+ REFERENCES icinga_notification (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+CREATE UNIQUE INDEX notification_var_search_idx ON icinga_notification_var (varname);
+
+
+CREATE TABLE icinga_notification_inheritance (
+ notification_id integer NOT NULL,
+ parent_notification_id integer NOT NULL,
+ weight integer DEFAULT NULL,
+ PRIMARY KEY (notification_id, parent_notification_id),
+ CONSTRAINT icinga_notification_inheritance_notification
+ FOREIGN KEY (notification_id)
+ REFERENCES icinga_notification (id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT icinga_notification_inheritance_parent_notification
+ FOREIGN KEY (parent_notification_id)
+ REFERENCES icinga_notification (id)
+ ON DELETE RESTRICT
+ ON UPDATE CASCADE
+);
+
+CREATE UNIQUE INDEX notification_inheritance ON icinga_notification_inheritance (notification_id, weight);
+
+
+INSERT INTO director_schema_migration
+ (schema_version, migration_time)
+ VALUES (77, NOW());