44 lines
1.5 KiB
SQL
44 lines
1.5 KiB
SQL
CREATE TABLE icinga_host_field (
|
|
host_id INT(10) UNSIGNED NOT NULL COMMENT 'Makes only sense for templates',
|
|
fieldname VARCHAR(64) NOT NULL,
|
|
caption VARCHAR(255) NOT NULL,
|
|
datatype_id INT(10) UNSIGNED NOT NULL,
|
|
-- datatype_param? multiple ones?
|
|
default_value TEXT DEFAULT NULL,
|
|
format enum ('string', 'json', 'expression'),
|
|
PRIMARY KEY (host_id, fieldname),
|
|
KEY search_idx (fieldname),
|
|
CONSTRAINT icinga_host_field_host
|
|
FOREIGN KEY host(host_id)
|
|
REFERENCES icinga_host (id)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
CONSTRAINT icinga_host_field_datatype
|
|
FOREIGN KEY datatype (datatype_id)
|
|
REFERENCES director_datatype (id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE icinga_service_field (
|
|
service_id INT(10) UNSIGNED NOT NULL COMMENT 'Makes only sense for templates',
|
|
fieldname VARCHAR(64) NOT NULL,
|
|
caption VARCHAR(255) NOT NULL,
|
|
datatype_id INT(10) UNSIGNED NOT NULL,
|
|
-- datatype_param? multiple ones?
|
|
default_value TEXT DEFAULT NULL,
|
|
format enum ('string', 'json', 'expression'),
|
|
PRIMARY KEY (service_id, fieldname),
|
|
KEY search_idx (fieldname),
|
|
CONSTRAINT icinga_service_field_service
|
|
FOREIGN KEY service (service_id)
|
|
REFERENCES icinga_service (id)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
CONSTRAINT icinga_service_field_datatype
|
|
FOREIGN KEY datatype (datatype_id)
|
|
REFERENCES director_datatype (id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|