51 lines
1.6 KiB
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; |