schema/mysql: fix too restrictive primary key

This commit is contained in:
Thomas Gelf 2016-02-29 17:34:16 +01:00
parent 83d2047a23
commit b2311130ba
2 changed files with 53 additions and 3 deletions

View File

@ -0,0 +1,50 @@
DROP TABLE icinga_user_states_set;
CREATE TABLE icinga_user_states_set (
user_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 (user_id, property, merge_behaviour),
CONSTRAINT icinga_user_states_set_user
FOREIGN KEY icinga_user (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB;
DROP TABLE icinga_user_filters_set;
CREATE TABLE icinga_user_filters_set (
user_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 (user_id, property, merge_behaviour),
CONSTRAINT icinga_user_filters_set_user
FOREIGN KEY icinga_user (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB;
INSERT INTO director_schema_migration
SET migration_time = NOW(),
schema_version = 75;

View File

@ -791,7 +791,7 @@ CREATE TABLE icinga_user_states_set (
) NOT NULL,
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
COMMENT 'override: = [], extend: += [], blacklist: -= []',
PRIMARY KEY (user_id, property),
PRIMARY KEY (user_id, property, merge_behaviour),
CONSTRAINT icinga_user_states_set_user
FOREIGN KEY icinga_user (user_id)
REFERENCES icinga_user (id)
@ -814,7 +814,7 @@ CREATE TABLE icinga_user_filters_set (
) NOT NULL,
merge_behaviour ENUM('override', 'extend', 'blacklist') NOT NULL DEFAULT 'override'
COMMENT 'override: = [], extend: += [], blacklist: -= []',
PRIMARY KEY (user_id, property),
PRIMARY KEY (user_id, property, merge_behaviour),
CONSTRAINT icinga_user_filters_set_user
FOREIGN KEY icinga_user (user_id)
REFERENCES icinga_user (id)
@ -1112,4 +1112,4 @@ CREATE TABLE sync_run (
INSERT INTO director_schema_migration
SET migration_time = NOW(),
schema_version = 74;
schema_version = 75;