SQLSchema: MySQL Schema update
This commit is contained in:
parent
25f29b3acc
commit
2e78e18d39
|
@ -0,0 +1,51 @@
|
|||
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;
|
|
@ -113,12 +113,16 @@ CREATE TABLE director_datalist_entry (
|
|||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE director_datatype (
|
||||
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
|
||||
datatype_name VARCHAR(255) NOT NULL,
|
||||
datatype_class VARCHAR(255) NOT NULL,
|
||||
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),
|
||||
UNIQUE KEY datatype_name (datatype_name)
|
||||
KEY search_idx (varname)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE icinga_zone (
|
||||
|
@ -389,23 +393,18 @@ CREATE TABLE icinga_host_inheritance (
|
|||
|
||||
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),
|
||||
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)
|
||||
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
|
||||
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;
|
||||
|
||||
|
@ -512,23 +511,18 @@ CREATE TABLE icinga_service_var (
|
|||
|
||||
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),
|
||||
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)
|
||||
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
|
||||
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;
|
||||
|
||||
|
@ -558,6 +552,7 @@ CREATE TABLE icinga_hostgroup (
|
|||
KEY search_idx (display_name)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- TODO: probably useless
|
||||
CREATE TABLE icinga_hostgroup_inheritance (
|
||||
hostgroup_id INT(10) UNSIGNED NOT NULL,
|
||||
parent_hostgroup_id INT(10) UNSIGNED NOT NULL,
|
||||
|
|
Loading…
Reference in New Issue