schema/mysql: add choices

This commit is contained in:
Thomas Gelf 2017-07-04 06:22:07 +02:00
parent 22d34b933a
commit 439a16d7b9
3 changed files with 75 additions and 1 deletions

View File

@ -0,0 +1,21 @@
CREATE TABLE icinga_host_template_choice (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
object_name VARCHAR(64) NOT NULL,
description TEXT DEFAULT NULL,
min_required SMALLINT UNSIGNED NOT NULL DEFAULT 0,
max_allowed SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id),
UNIQUE KEY (object_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE icinga_host
ADD COLUMN template_choice_id INT(10) UNSIGNED DEFAULT NULL,
ADD CONSTRAINT icinga_host_template_choice
FOREIGN KEY choice (template_choice_id)
REFERENCES icinga_host_template_choice (id)
ON DELETE RESTRICT
ON UPDATE CASCADE;
INSERT INTO director_schema_migration
(schema_version, migration_time)
VALUES (132, NOW());

View File

@ -0,0 +1,21 @@
CREATE TABLE icinga_service_template_choice (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
object_name VARCHAR(64) NOT NULL,
description TEXT DEFAULT NULL,
min_required SMALLINT UNSIGNED NOT NULL DEFAULT 0,
max_allowed SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id),
UNIQUE KEY (object_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE icinga_service
ADD COLUMN template_choice_id INT(10) UNSIGNED DEFAULT NULL,
ADD CONSTRAINT icinga_service_template_choice
FOREIGN KEY choice (template_choice_id)
REFERENCES icinga_service_template_choice (id)
ON DELETE RESTRICT
ON UPDATE CASCADE;
INSERT INTO director_schema_migration
(schema_version, migration_time)
VALUES (133, NOW());

View File

@ -421,6 +421,16 @@ CREATE TABLE icinga_endpoint_inheritance (
ON UPDATE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_host_template_choice (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
object_name VARCHAR(64) NOT NULL,
description TEXT DEFAULT NULL,
min_required SMALLINT UNSIGNED NOT NULL DEFAULT 0,
max_allowed SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id),
UNIQUE KEY (object_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_host ( CREATE TABLE icinga_host (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
object_name VARCHAR(255) NOT NULL, object_name VARCHAR(255) NOT NULL,
@ -454,6 +464,7 @@ CREATE TABLE icinga_host (
master_should_connect ENUM('y', 'n') DEFAULT NULL, master_should_connect ENUM('y', 'n') DEFAULT NULL,
accept_config ENUM('y', 'n') DEFAULT NULL, accept_config ENUM('y', 'n') DEFAULT NULL,
api_key VARCHAR(40) DEFAULT NULL, api_key VARCHAR(40) DEFAULT NULL,
template_choice_id INT(10) UNSIGNED DEFAULT NULL,
PRIMARY KEY (id), PRIMARY KEY (id),
UNIQUE INDEX object_name (object_name), UNIQUE INDEX object_name (object_name),
UNIQUE INDEX api_key (api_key), UNIQUE INDEX api_key (api_key),
@ -482,6 +493,11 @@ CREATE TABLE icinga_host (
FOREIGN KEY command_endpoint (command_endpoint_id) FOREIGN KEY command_endpoint (command_endpoint_id)
REFERENCES icinga_endpoint (id) REFERENCES icinga_endpoint (id)
ON DELETE RESTRICT ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT icinga_host_template_choice
FOREIGN KEY choice (template_choice_id)
REFERENCES icinga_host_template_choice (id)
ON DELETE RESTRICT
ON UPDATE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -553,6 +569,16 @@ CREATE TABLE icinga_service_set (
ON UPDATE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_service_template_choice (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
object_name VARCHAR(64) NOT NULL,
description TEXT DEFAULT NULL,
min_required SMALLINT UNSIGNED NOT NULL DEFAULT 0,
max_allowed SMALLINT UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id),
UNIQUE KEY (object_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE icinga_service ( CREATE TABLE icinga_service (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
object_name VARCHAR(255) NOT NULL, object_name VARCHAR(255) NOT NULL,
@ -586,6 +612,7 @@ CREATE TABLE icinga_service (
apply_for VARCHAR(255) DEFAULT NULL, apply_for VARCHAR(255) DEFAULT NULL,
use_var_overrides ENUM('y', 'n') DEFAULT NULL, use_var_overrides ENUM('y', 'n') DEFAULT NULL,
assign_filter TEXT DEFAULT NULL, assign_filter TEXT DEFAULT NULL,
template_choice_id INT(10) UNSIGNED DEFAULT NULL,
PRIMARY KEY (id), PRIMARY KEY (id),
UNIQUE KEY object_key (object_name, host_id), UNIQUE KEY object_key (object_name, host_id),
CONSTRAINT icinga_service_host CONSTRAINT icinga_service_host
@ -622,6 +649,11 @@ CREATE TABLE icinga_service (
FOREIGN KEY service_set (service_set_id) FOREIGN KEY service_set (service_set_id)
REFERENCES icinga_service_set (id) REFERENCES icinga_service_set (id)
ON DELETE CASCADE ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_service_template_choice
FOREIGN KEY choice (template_choice_id)
REFERENCES icinga_service_template_choice (id)
ON DELETE RESTRICT
ON UPDATE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -1524,4 +1556,4 @@ CREATE TABLE icinga_user_resolved_var (
INSERT INTO director_schema_migration INSERT INTO director_schema_migration
(schema_version, migration_time) (schema_version, migration_time)
VALUES (131, NOW()); VALUES (133, NOW());