icingaweb2-module-director/schema/mysql-changes/upgrade_24.sql

92 lines
2.9 KiB
SQL

CREATE TABLE import_source (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
source_name VARCHAR(64) NOT NULL,
provider_class VARCHAR(72) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE import_source_setting (
source_id INT(10) UNSIGNED NOT NULL,
setting_name VARCHAR(64) NOT NULL,
setting_value VARCHAR(255) NOT NULL,
PRIMARY KEY (source_id, setting_name),
CONSTRAINT import_source_settings_source
FOREIGN KEY source (source_id)
REFERENCES import_source (id)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE imported_rowset (
checksum VARBINARY(20) NOT NULL,
PRIMARY KEY (checksum)
) ENGINE=InnoDB;
CREATE TABLE import_run (
id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL,
source_id INT(10) UNSIGNED NOT NULL,
imported_rowset_checksum VARBINARY(20) DEFAULT NULL,
start_time DATETIME NOT NULL,
end_time DATETIME DEFAULT NULL,
succeeded ENUM('y', 'n') DEFAULT NULL,
PRIMARY KEY (id),
CONSTRAINT import_run_source
FOREIGN KEY import_source (source_id)
REFERENCES import_source (id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT import_run_rowset
FOREIGN KEY rowset (imported_rowset_checksum)
REFERENCES imported_rowset (checksum)
ON DELETE RESTRICT
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE imported_row (
checksum VARBINARY(20) NOT NULL COMMENT 'sha1(object_name;property_checksum;...)',
object_name VARCHAR(255) NOT NULL,
PRIMARY KEY (checksum)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE imported_rowset_row (
rowset_checksum VARBINARY(20) NOT NULL,
row_checksum VARBINARY(20) NOT NULL,
PRIMARY KEY (rowset_checksum, row_checksum),
CONSTRAINT imported_rowset_row_rowset
FOREIGN KEY rowset_row_rowset (rowset_checksum)
REFERENCES imported_rowset (checksum)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT imported_rowset_row_row
FOREIGN KEY rowset_row_rowset (row_checksum)
REFERENCES imported_row (checksum)
ON DELETE RESTRICT
ON UPDATE CASCADE
) ENGINE=InnoDB;
CREATE TABLE imported_property (
checksum VARBINARY(20) NOT NULL,
property_name VARCHAR(64) NOT NULL,
property_value TEXT NOT NULL,
format enum ('string', 'expression', 'json'),
PRIMARY KEY (checksum),
KEY search_idx (property_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE imported_row_property (
row_checksum VARBINARY(20) NOT NULL,
property_checksum VARBINARY(20) NOT NULL,
PRIMARY KEY (row_checksum, property_checksum),
CONSTRAINT imported_row_property_row
FOREIGN KEY row_checksum (row_checksum)
REFERENCES imported_row (checksum)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT imported_row_property_property
FOREIGN KEY property_checksum (property_checksum)
REFERENCES imported_property (checksum)
ON DELETE RESTRICT
ON UPDATE CASCADE
) ENGINE=InnoDB;