diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:12 +0000 |
commit | cd989f9c3aff968e19a3aeabc4eb9085787a6673 (patch) | |
tree | fbff2135e7013f196b891bbde54618eb050e4aaf /schema/pgsql-legacy-changes/upgrade_22.sql | |
parent | Initial commit. (diff) | |
download | icingaweb2-module-director-cd989f9c3aff968e19a3aeabc4eb9085787a6673.tar.xz icingaweb2-module-director-cd989f9c3aff968e19a3aeabc4eb9085787a6673.zip |
Adding upstream version 1.10.2.upstream/1.10.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'schema/pgsql-legacy-changes/upgrade_22.sql')
-rw-r--r-- | schema/pgsql-legacy-changes/upgrade_22.sql | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/schema/pgsql-legacy-changes/upgrade_22.sql b/schema/pgsql-legacy-changes/upgrade_22.sql new file mode 100644 index 0000000..d7aaf51 --- /dev/null +++ b/schema/pgsql-legacy-changes/upgrade_22.sql @@ -0,0 +1,55 @@ +CREATE TABLE icinga_host_field ( + host_id integer NOT NULL, + fieldname character varying(64) NOT NULL, + caption character varying(255) NOT NULL, + datatype_id integer NOT NULL, +-- datatype_param? multiple ones? + default_value text DEFAULT NULL, + format enum_property_format, + PRIMARY KEY (host_id, fieldname), + CONSTRAINT icinga_host_field_host + FOREIGN KEY (host_id) + REFERENCES icinga_host (id) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT icinga_host_field_datatype + FOREIGN KEY (datatype_id) + REFERENCES director_datatype (id) + ON DELETE RESTRICT + ON UPDATE CASCADE +); + +CREATE UNIQUE INDEX host_field_key ON icinga_host_field (host_id, fieldname); +CREATE INDEX host_field_search_idx ON icinga_host_field (fieldname); +CREATE INDEX host_field_host ON icinga_host_field (host_id); +CREATE INDEX host_field_datatype ON icinga_host_field (datatype); + +COMMENT ON COLUMN icinga_host_field.host_id IS 'Makes only sense for templates'; + + +CREATE TABLE icinga_service_field ( + service_id integer NOT NULL, + fieldname character varying(64) NOT NULL, + caption character varying(255) NOT NULL, + datatype_id integer NOT NULL, +-- datatype_param? multiple ones? + default_value text DEFAULT NULL, + format enum_property_format, + PRIMARY KEY (service_id, fieldname), + CONSTRAINT icinga_service_field_service + FOREIGN KEY (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 +); + +CREATE UNIQUE INDEX service_field_key ON icinga_service_field (service_id, fieldname); +CREATE INDEX service_field_search_idx ON icinga_service_field (fieldname); +CREATE INDEX service_field_service ON icinga_service_field (service_id); +CREATE INDEX service_field_datatype ON icinga_service_field (datatype); +COMMENT ON COLUMN icinga_service_field.service_id IS 'Makes only sense for templates'; |