mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-09-25 18:59:04 +02:00
MYSQL: Introduce mysql schema for the enhanced dashboards
This commit is contained in:
parent
f21a7d2763
commit
937f0631bc
80
etc/schema/dashboards.sql
Normal file
80
etc/schema/dashboards.sql
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
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` (
|
||||||
|
`dashlet_id` binary(20) NOT NULL,
|
||||||
|
`module_dashlet_id` binary(20) NOT NULL,
|
||||||
|
`username` varchar(254) NOT NULL COLLATE utf8mb4_unicode_ci,
|
||||||
|
PRIMARY KEY (`username`, `dashlet_id`, `module_dashlet_id`),
|
||||||
|
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 (`dashlet_id`) REFERENCES `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` varchar(64) 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;
|
Loading…
x
Reference in New Issue
Block a user