From 231b4ceef518b0de47b727bff9c7e4297ff2487b Mon Sep 17 00:00:00 2001 From: Yonas Habteab Date: Thu, 7 Apr 2022 15:53:37 +0200 Subject: [PATCH] Schema: Merge dashboards.sql to the icingaweb2 schema --- etc/schema/dashboards.sql | 79 ------------------------------------- etc/schema/mysql.schema.sql | 66 +++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 79 deletions(-) delete mode 100644 etc/schema/dashboards.sql diff --git a/etc/schema/dashboards.sql b/etc/schema/dashboards.sql deleted file mode 100644 index dd44013be..000000000 --- a/etc/schema/dashboards.sql +++ /dev/null @@ -1,79 +0,0 @@ -DROP DATABASE IF EXISTS dashboard; -DROP USER IF EXISTS dashboard; - -CREATE DATABASE dashboard; -USE dashboard; - -CREATE TABLE `dashboard_home` ( - `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, - `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, - `priority` tinyint NOT NULL, - `type` enum('public', 'private', 'shared') DEFAULT 'private', - PRIMARY KEY (`id`), - UNIQUE KEY `idx_dashboard_home_name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE TABLE `dashboard` ( - `id` binary(20) NOT NULL, - `home_id` int(10) UNSIGNED NOT NULL, - `username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, - `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `priority` tinyint NOT NULL, - PRIMARY KEY (`id`), - KEY `fk_dashboard_dashboard_home` (`home_id`), - CONSTRAINT `fk_dashboard_dashboard_home` FOREIGN KEY (`home_id`) REFERENCES `dashboard_home` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE TABLE `dashboard_override` ( - `dashboard_id` binary(20) NOT NULL, - `username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, - `label` varchar(64) DEFAULT NULL COLLATE utf8mb4_unicode_ci, - `disabled` tinyint(1) DEFAULT 0, - `priority` tinyint NOT NULL, - PRIMARY KEY (`dashboard_id`, `username`), - CONSTRAINT `fk_dashboard_override_dashboard` FOREIGN KEY (`dashboard_id`) REFERENCES dashboard (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE TABLE `dashlet` ( - `id` binary(20) NOT NULL, - `dashboard_id` binary(20) NOT NULL, - `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `label` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, - `url` varchar(2048) NOT NULL COLLATE utf8mb4_bin, - `priority` tinyint NOT NULL, - PRIMARY KEY (`id`), - KEY `fk_dashlet_dashboard` (`dashboard_id`), - CONSTRAINT `fk_dashlet_dashboard` FOREIGN KEY (`dashboard_id`) REFERENCES `dashboard` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE TABLE `dashlet_system` ( - `id` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, - `dashlet_id` binary(20) NOT NULL, - `module_dashlet_id` binary(20) NOT NULL, - CONSTRAINT `fk_dashlet_system_dashlet` FOREIGN KEY (`dashlet_id`) REFERENCES `dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_dashlet_system_module_dashlet` FOREIGN KEY (`module_dashlet_id`) REFERENCES `module_dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE TABLE `module_dashlet` ( - `id` binary(20) NOT NULL, - `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `module` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, - `pane` varchar(64) DEFAULT NULL COLLATE utf8mb4_unicode_ci, - `url` varchar(2048) NOT NULL COLLATE utf8mb4_bin, - `description` text DEFAULT NULL COLLATE utf8mb4_unicode_ci, - `priority` int(10) DEFAULT 0, - PRIMARY KEY (`id`), - INDEX `idx_module_dashlet_name` (`name`), - INDEX `idx_module_dashlet_pane` (`pane`), - INDEX `idx_module_dashlet_module` (`module`), - INDEX `idx_module_dashlet_priority` (`priority`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - -CREATE USER 'dashboard'@'%' IDENTIFIED BY 'dashboard'; -GRANT ALL PRIVILEGES ON `dashboard`.* TO 'dashboard'@'%' IDENTIFIED BY 'dashboard'; - -FLUSH PRIVILEGES; diff --git a/etc/schema/mysql.schema.sql b/etc/schema/mysql.schema.sql index 62168c39d..eb83619a1 100644 --- a/etc/schema/mysql.schema.sql +++ b/etc/schema/mysql.schema.sql @@ -52,3 +52,69 @@ CREATE TABLE `icingaweb_rememberme`( mtime timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + + +# Icinga Web 2 Dashboards + +CREATE TABLE `icingaweb_dashboard_home` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, + `priority` tinyint NOT NULL, + `type` enum('public', 'private', 'shared') DEFAULT 'private', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_dashboard_home_name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +CREATE TABLE `icingaweb_dashboard` ( + `id` binary(20) NOT NULL, + `home_id` int(10) UNSIGNED NOT NULL, + `username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, + `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `priority` tinyint NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_dashboard_dashboard_home` (`home_id`), + CONSTRAINT `fk_dashboard_dashboard_home` FOREIGN KEY (`home_id`) + REFERENCES `icingaweb_dashboard_home` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +CREATE TABLE `icingaweb_dashlet` ( + `id` binary(20) NOT NULL, + `dashboard_id` binary(20) NOT NULL, + `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `label` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci, + `url` varchar(2048) NOT NULL COLLATE utf8mb4_bin, + `priority` tinyint NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_dashlet_dashboard` (`dashboard_id`), + CONSTRAINT `fk_dashlet_dashboard` FOREIGN KEY (`dashboard_id`) + REFERENCES `icingaweb_dashboard` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +CREATE TABLE `icingaweb_module_dashlet` ( + `id` binary(20) NOT NULL, + `name` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `label` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `module` varchar(64) NOT NULL COLLATE utf8mb4_unicode_ci, + `pane` varchar(64) DEFAULT NULL COLLATE utf8mb4_unicode_ci, + `url` varchar(2048) NOT NULL COLLATE utf8mb4_bin, + `description` text DEFAULT NULL COLLATE utf8mb4_unicode_ci, + `priority` int(10) DEFAULT 0, + PRIMARY KEY (`id`), + INDEX `idx_module_dashlet_name` (`name`), + INDEX `idx_module_dashlet_pane` (`pane`), + INDEX `idx_module_dashlet_module` (`module`), + INDEX `idx_module_dashlet_priority` (`priority`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + +CREATE TABLE `icingaweb_system_dashlet` ( + `id` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, + `dashlet_id` binary(20) NOT NULL, + `module_dashlet_id` binary(20) NOT NULL, + CONSTRAINT `fk_dashlet_system_dashlet` FOREIGN KEY (`dashlet_id`) + REFERENCES `icingaweb_dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_dashlet_system_module_dashlet` FOREIGN KEY (`module_dashlet_id`) + REFERENCES `icingaweb_module_dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;