Skip to content

Commit 7c2ec7f

Browse files
committed
Test: Introduce DB fixtures
1 parent 6373dec commit 7c2ec7f

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

library/Icinga/Test/fixtures.sql

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
CREATE TABLE `icingaweb_dashboard_owner` (
2+
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
3+
`username` VARCHAR NOT NULL,
4+
UNIQUE(`username`)
5+
);
6+
7+
CREATE TABLE `icingaweb_dashboard_home` (
8+
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
9+
`user_id` INTEGER NOT NULL,
10+
`name` VARCHAR NOT NULL,
11+
`label` VARCHAR NOT NULL,
12+
`priority` tinyint NOT NULL,
13+
`type` TEXT CHECK ( `type` IN ('public', 'private', 'shared') ) DEFAULT 'private',
14+
`disabled` TEXT CHECK ( `disabled` IN ('n', 'y') ) DEFAULT 'n',
15+
UNIQUE(user_id, `name`),
16+
FOREIGN KEY (user_id) REFERENCES `icingaweb_dashboard_owner` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
17+
);
18+
19+
CREATE TABLE `icingaweb_dashboard` (
20+
`id` binary(20) NOT NULL PRIMARY KEY,
21+
`home_id` INTEGER NOT NULL,
22+
`name` VARCHAR NOT NULL,
23+
`label` VARCHAR NOT NULL,
24+
`priority` tinyint NOT NULL,
25+
FOREIGN KEY (`home_id`) REFERENCES `icingaweb_dashboard_home` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
26+
);
27+
28+
CREATE TABLE `icingaweb_dashlet` (
29+
`id` binary(20) NOT NULL PRIMARY KEY,
30+
`dashboard_id` binary(20) NOT NULL,
31+
`name` VARCHAR NOT NULL,
32+
`label` VARCHAR NOT NULL,
33+
`url` VARCHAR NOT NULL,
34+
`priority` tinyint NOT NULL,
35+
`disabled` TEXT CHECK ( disabled IN ('n', 'y') ) DEFAULT 'n',
36+
FOREIGN KEY (`dashboard_id`) REFERENCES `icingaweb_dashboard` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
37+
);
38+
39+
CREATE TABLE `icingaweb_module_dashlet` (
40+
`id` binary(20) NOT NULL PRIMARY KEY,
41+
`name` VARCHAR NOT NULL,
42+
`label` VARCHAR NOT NULL,
43+
`module` VARCHAR NOT NULL,
44+
`pane` VARCHAR DEFAULT NULL,
45+
`url` VARCHAR NOT NULL,
46+
`description` text DEFAULT NULL,
47+
`priority` tinyint DEFAULT 0
48+
);
49+
50+
CREATE TABLE `icingaweb_system_dashlet` (
51+
`dashlet_id` binary(20) NOT NULL PRIMARY KEY,
52+
`module_dashlet_id` binary(20) DEFAULT NULL,
53+
FOREIGN KEY (`dashlet_id`) REFERENCES `icingaweb_dashlet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
54+
FOREIGN KEY (`module_dashlet_id`) REFERENCES `icingaweb_module_dashlet` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
55+
);

0 commit comments

Comments
 (0)