Test: Introduce DB fixtures

This commit is contained in:
Yonas Habteab 2022-06-01 14:55:28 +02:00
parent da56ba898d
commit 6939820c24

View File

@ -0,0 +1,55 @@
CREATE TABLE `icingaweb_dashboard_owner` (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR NOT NULL,
UNIQUE(`username`)
);
CREATE TABLE `icingaweb_dashboard_home` (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`user_id` INTEGER NOT NULL,
`name` VARCHAR NOT NULL,
`label` VARCHAR NOT NULL,
`priority` tinyint NOT NULL,
`type` TEXT CHECK ( `type` IN ('public', 'private', 'shared') ) DEFAULT 'private',
`disabled` TEXT CHECK ( `disabled` IN ('n', 'y') ) DEFAULT 'n',
UNIQUE(user_id, `name`),
FOREIGN KEY (user_id) REFERENCES `icingaweb_dashboard_owner` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `icingaweb_dashboard` (
`id` binary(20) NOT NULL PRIMARY KEY,
`home_id` INTEGER NOT NULL,
`name` VARCHAR NOT NULL,
`label` VARCHAR NOT NULL,
`priority` tinyint NOT NULL,
FOREIGN KEY (`home_id`) REFERENCES `icingaweb_dashboard_home` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `icingaweb_dashlet` (
`id` binary(20) NOT NULL PRIMARY KEY,
`dashboard_id` binary(20) NOT NULL,
`name` VARCHAR NOT NULL,
`label` VARCHAR NOT NULL,
`url` VARCHAR NOT NULL,
`priority` tinyint NOT NULL,
`disabled` TEXT CHECK ( disabled IN ('n', 'y') ) DEFAULT 'n',
FOREIGN KEY (`dashboard_id`) REFERENCES `icingaweb_dashboard` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `icingaweb_module_dashlet` (
`id` binary(20) NOT NULL PRIMARY KEY,
`name` VARCHAR NOT NULL,
`label` VARCHAR NOT NULL,
`module` VARCHAR NOT NULL,
`pane` VARCHAR DEFAULT NULL,
`url` VARCHAR NOT NULL,
`description` text DEFAULT NULL,
`priority` tinyint DEFAULT 0
);
CREATE TABLE `icingaweb_system_dashlet` (
`dashlet_id` binary(20) NOT NULL PRIMARY KEY,
`module_dashlet_id` binary(20) DEFAULT NULL,
FOREIGN KEY (`dashlet_id`) REFERENCES `icingaweb_dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (`module_dashlet_id`) REFERENCES `icingaweb_module_dashlet` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
);