icingaweb2-module-director/schema/mysql-legacy-changes/upgrade_23.sql

51 lines
1.6 KiB
SQL

DROP TABLE director_datatype;
CREATE TABLE director_datafield (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
varname VARCHAR(64) NOT NULL,
caption VARCHAR(255) NOT NULL,
description TEXT DEFAULT NULL,
datatype varchar(255) NOT NULL,
-- datatype_param? multiple ones?
format enum ('string', 'json', 'expression'),
PRIMARY KEY (id),
KEY search_idx (varname)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE icinga_host_field;
CREATE TABLE icinga_host_field (
host_id INT(10) UNSIGNED NOT NULL COMMENT 'Makes only sense for templates',
datafield_id INT(10) UNSIGNED NOT NULL,
is_required ENUM('y', 'n') DEFAULT NULL,
PRIMARY KEY (host_id, datafield_id),
CONSTRAINT icinga_host_field_host
FOREIGN KEY host(host_id)
REFERENCES icinga_host (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_host_field_datafield
FOREIGN KEY datafield(datafield_id)
REFERENCES director_datafield (id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE icinga_service_field;
CREATE TABLE icinga_service_field (
service_id INT(10) UNSIGNED NOT NULL COMMENT 'Makes only sense for templates',
datafield_id INT(10) UNSIGNED NOT NULL,
is_required ENUM('y', 'n') DEFAULT NULL,
PRIMARY KEY (service_id, datafield_id),
CONSTRAINT icinga_service_field_service
FOREIGN KEY service(service_id)
REFERENCES icinga_service (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT icinga_service_field_datafield
FOREIGN KEY datafield(datafield_id)
REFERENCES director_datafield (id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;