mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-07-28 08:14:04 +02:00
schema/mysql: add missing notification tables
This commit is contained in:
parent
29b1253bea
commit
665fd6a0ff
78
schema/mysql-migrations/upgrade_77.sql
Normal file
78
schema/mysql-migrations/upgrade_77.sql
Normal file
@ -0,0 +1,78 @@
|
||||
CREATE TABLE icinga_notification_states_set (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
property ENUM(
|
||||
'OK',
|
||||
'Warning',
|
||||
'Critical',
|
||||
'Unknown',
|
||||
'Up',
|
||||
'Down'
|
||||
) NOT NULL,
|
||||
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
|
||||
COMMENT 'override: = [], extend: += [], blacklist: -= []',
|
||||
PRIMARY KEY (notification_id, property, merge_behaviour),
|
||||
CONSTRAINT icinga_notification_states_set_notification
|
||||
FOREIGN KEY icinga_notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE icinga_notification_types_set (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
property ENUM(
|
||||
'DowntimeStart',
|
||||
'DowntimeEnd',
|
||||
'DowntimeRemoved',
|
||||
'Custom',
|
||||
'Acknowledgement',
|
||||
'Problem',
|
||||
'Recovery',
|
||||
'FlappingStart',
|
||||
'FlappingEnd'
|
||||
) NOT NULL,
|
||||
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
|
||||
COMMENT 'override: = [], extend: += [], blacklist: -= []',
|
||||
PRIMARY KEY (notification_id, property, merge_behaviour),
|
||||
CONSTRAINT icinga_notification_types_set_notification
|
||||
FOREIGN KEY icinga_notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE icinga_notification_var (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
varname VARCHAR(255) DEFAULT NULL,
|
||||
varvalue TEXT DEFAULT NULL,
|
||||
format enum ('string', 'json', 'expression'),
|
||||
PRIMARY KEY (notification_id, varname),
|
||||
key search_idx (varname),
|
||||
CONSTRAINT icinga_notification_var_notification
|
||||
FOREIGN KEY notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE icinga_notification_inheritance (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
parent_notification_id INT(10) UNSIGNED NOT NULL,
|
||||
weight MEDIUMINT UNSIGNED DEFAULT NULL,
|
||||
PRIMARY KEY (notification_id, parent_notification_id),
|
||||
UNIQUE KEY unique_order (notification_id, weight),
|
||||
CONSTRAINT icinga_notification_inheritance_notification
|
||||
FOREIGN KEY host (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
CONSTRAINT icinga_notification_inheritance_parent_notification
|
||||
FOREIGN KEY host (parent_notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO director_schema_migration
|
||||
SET migration_time = NOW(),
|
||||
schema_version = 77;
|
@ -939,6 +939,81 @@ CREATE TABLE icinga_notification (
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE icinga_notification_var (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
varname VARCHAR(255) DEFAULT NULL,
|
||||
varvalue TEXT DEFAULT NULL,
|
||||
format enum ('string', 'json', 'expression'),
|
||||
PRIMARY KEY (notification_id, varname),
|
||||
key search_idx (varname),
|
||||
CONSTRAINT icinga_notification_var_notification
|
||||
FOREIGN KEY notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE icinga_notification_inheritance (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
parent_notification_id INT(10) UNSIGNED NOT NULL,
|
||||
weight MEDIUMINT UNSIGNED DEFAULT NULL,
|
||||
PRIMARY KEY (notification_id, parent_notification_id),
|
||||
UNIQUE KEY unique_order (notification_id, weight),
|
||||
CONSTRAINT icinga_notification_inheritance_notification
|
||||
FOREIGN KEY host (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE,
|
||||
CONSTRAINT icinga_notification_inheritance_parent_notification
|
||||
FOREIGN KEY host (parent_notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE icinga_notification_states_set (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
property ENUM(
|
||||
'OK',
|
||||
'Warning',
|
||||
'Critical',
|
||||
'Unknown',
|
||||
'Up',
|
||||
'Down'
|
||||
) NOT NULL,
|
||||
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
|
||||
COMMENT 'override: = [], extend: += [], blacklist: -= []',
|
||||
PRIMARY KEY (notification_id, property, merge_behaviour),
|
||||
CONSTRAINT icinga_notification_states_set_notification
|
||||
FOREIGN KEY icinga_notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE icinga_notification_types_set (
|
||||
notification_id INT(10) UNSIGNED NOT NULL,
|
||||
property ENUM(
|
||||
'DowntimeStart',
|
||||
'DowntimeEnd',
|
||||
'DowntimeRemoved',
|
||||
'Custom',
|
||||
'Acknowledgement',
|
||||
'Problem',
|
||||
'Recovery',
|
||||
'FlappingStart',
|
||||
'FlappingEnd'
|
||||
) NOT NULL,
|
||||
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
|
||||
COMMENT 'override: = [], extend: += [], blacklist: -= []',
|
||||
PRIMARY KEY (notification_id, property, merge_behaviour),
|
||||
CONSTRAINT icinga_notification_types_set_notification
|
||||
FOREIGN KEY icinga_notification (notification_id)
|
||||
REFERENCES icinga_notification (id)
|
||||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE import_source (
|
||||
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
|
||||
source_name VARCHAR(64) NOT NULL,
|
||||
@ -1112,4 +1187,4 @@ CREATE TABLE sync_run (
|
||||
|
||||
INSERT INTO director_schema_migration
|
||||
SET migration_time = NOW(),
|
||||
schema_version = 76;
|
||||
schema_version = 77;
|
||||
|
Loading…
x
Reference in New Issue
Block a user