~xibo-maintainers/xibo/tempel

« back to all changes in this revision

Viewing changes to install/database/20.sql

  • Committer: Dan Garner
  • Date: 2015-08-11 09:29:02 UTC
  • mto: This revision was merged to the branch mainline in revision 453.
  • Revision ID: git-v1:a86fb4369b7395c13367577d23b14c0ab4528c1a
Transitions fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
INSERT INTO `pages` (`name`, `pagegroupID`)
 
2
VALUES ('help', '2'), ('clock', 2);
 
3
 
 
4
CREATE TABLE IF NOT EXISTS `help` (
 
5
  `HelpID` int(11) NOT NULL auto_increment,
 
6
  `Topic` varchar(254) NOT NULL,
 
7
  `Category` varchar(254) NOT NULL default 'General',
 
8
  `Link` varchar(254) NOT NULL,
 
9
  PRIMARY KEY  (`HelpID`)
 
10
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
 
11
 
 
12
INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
 
13
(1, 'Layout', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts'),
 
14
(2, 'Content', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Media#The_Library'),
 
15
(4, 'Schedule', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Scheduling'),
 
16
(5, 'Group', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Groups'),
 
17
(6, 'Admin', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Settings'),
 
18
(7, 'Report', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Log'),
 
19
(8, 'Dashboard', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Overview#Dashboard'),
 
20
(9, 'User', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users'),
 
21
(10, 'Display', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays'),
 
22
(11, 'Displaygroup', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Groups'),
 
23
(12, 'Layout', 'Add', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Adding_Layouts'),
 
24
(13, 'Layout', 'Background', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Layout_Designer'),
 
25
(14, 'Content', 'Assign', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Library'),
 
26
(15, 'Layout', 'RegionOptions', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Assigning_Media'),
 
27
(16, 'Content', 'AddtoLibrary', 'http://wiki.xibo.org.uk/wiki/Manual:Media'),
 
28
(17, 'Display', 'Edit', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays'),
 
29
(18, 'Display', 'Delete', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Delete'),
 
30
(19, 'Displays', 'Groups', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Groups'),
 
31
(20, 'Groups', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users'),
 
32
(21, 'User', 'Add', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Add'),
 
33
(22, 'User', 'Delete', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Delete'),
 
34
(23, 'Content', 'Config', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Settings');
 
35
 
 
36
 
 
37
/* New page for display groups */
 
38
INSERT INTO `pages` (`name` , `pagegroupID`)
 
39
VALUES ('displaygroup', '7');
 
40
 
 
41
/* New menu item for display groups */
 
42
INSERT INTO `menuitem` ( `MenuID` , `PageID` , `Args` , `Text` , `Class` , `Img` , `Sequence`)
 
43
SELECT 4, PageID, NULL, 'Display Groups', NULL, NULL, 2 FROM pages WHERE `name` = 'displaygroup';
 
44
 
 
45
 
 
46
/* Create display groups. 20.php will handle adding a IsDisplaySpecific group for each display and linking it. */
 
47
CREATE TABLE IF NOT EXISTS `displaygroup` (
 
48
  `DisplayGroupID` int(11) NOT NULL auto_increment,
 
49
  `DisplayGroup` varchar(50) NOT NULL,
 
50
  `Description` varchar(254) default NULL,
 
51
  `IsDisplaySpecific` tinyint(4) NOT NULL default '0',
 
52
  PRIMARY KEY  (`DisplayGroupID`)
 
53
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
 
54
 
 
55
CREATE TABLE IF NOT EXISTS `lkdisplaydg` (
 
56
  `LkDisplayDGID` int(11) NOT NULL auto_increment,
 
57
  `DisplayGroupID` int(11) NOT NULL,
 
58
  `DisplayID` int(11) NOT NULL,
 
59
  PRIMARY KEY  (`LkDisplayDGID`),
 
60
  KEY `DisplayGroupID` (`DisplayGroupID`),
 
61
  KEY `DisplayID` (`DisplayID`)
 
62
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
 
63
 
 
64
ALTER TABLE `lkdisplaydg`
 
65
  ADD CONSTRAINT `lkdisplaydg_ibfk_1` FOREIGN KEY (`DisplayGroupID`) REFERENCES `displaygroup` (`DisplayGroupID`),
 
66
  ADD CONSTRAINT `lkdisplaydg_ibfk_2` FOREIGN KEY (`DisplayID`) REFERENCES `display` (`displayid`);
 
67
 
 
68
/* Last accessed date on display table need to be a timestamp */
 
69
UPDATE display SET lastaccessed = NULL;
 
70
ALTER TABLE `display` CHANGE `lastaccessed` `lastaccessed` INT NULL DEFAULT NULL;
 
71
UPDATE display SET lastaccessed = UNIX_TIMESTAMP() - 86400;
 
72
 
 
73
/* Permissions for Display Groups against Groups */
 
74
CREATE TABLE `lkgroupdg` (
 
75
`LkGroupDGID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 
76
`GroupID` INT NOT NULL ,
 
77
`DisplayGroupID` INT NOT NULL
 
78
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci ;
 
79
 
 
80
ALTER TABLE `lkgroupdg` ADD INDEX ( `GroupID` )  ;
 
81
 
 
82
ALTER TABLE `lkgroupdg` ADD INDEX ( `DisplayGroupID` )  ;
 
83
 
 
84
ALTER TABLE `lkgroupdg` ADD FOREIGN KEY ( `GroupID` ) REFERENCES `group` (
 
85
`groupID`
 
86
);
 
87
 
 
88
ALTER TABLE `lkgroupdg` ADD FOREIGN KEY ( `DisplayGroupID` ) REFERENCES `displaygroup` (
 
89
`DisplayGroupID`
 
90
);
 
91
 
 
92
/* SCHEDULE */
 
93
/* Change the display list to a display group list */
 
94
ALTER TABLE `schedule` CHANGE `displayID_list` `DisplayGroupIDs` VARCHAR( 254 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'A list of the display group ids for this event' ;
 
95
 
 
96
ALTER TABLE `schedule` 
 
97
                ADD `FromDT` BIGINT NOT NULL DEFAULT '0',
 
98
                ADD `ToDT` BIGINT NOT NULL DEFAULT '0',
 
99
                ADD `recurrence_range_temp` BIGINT NULL ;
 
100
 
 
101
UPDATE schedule SET 
 
102
        FromDT = UNIX_TIMESTAMP(start), 
 
103
        ToDT = UNIX_TIMESTAMP(end), 
 
104
        recurrence_range_temp = CASE WHEN recurrence_range IS NULL THEN NULL ELSE UNIX_TIMESTAMP(recurrence_range) END ;
 
105
 
 
106
ALTER TABLE `schedule`
 
107
  DROP `recurrence_range`,
 
108
  DROP `start`,
 
109
  DROP `end`;
 
110
  
 
111
 ALTER TABLE `schedule` CHANGE `recurrence_range_temp` `recurrence_range` BIGINT( 20 ) NULL DEFAULT NULL  ;
 
112
 
 
113
/* Schedule Detail */ 
 
114
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_3` ;
 
115
 
 
116
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_4` ;
 
117
 
 
118
ALTER TABLE `schedule_detail` ADD FOREIGN KEY ( `layoutID` ) REFERENCES `layout` (
 
119
`layoutID`
 
120
);
 
121
 
 
122
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_5` ;
 
123
 
 
124
ALTER TABLE `schedule_detail` ADD FOREIGN KEY ( `eventID` ) REFERENCES `schedule` (
 
125
`eventID`
 
126
);
 
127
 
 
128
ALTER TABLE `schedule_detail` CHANGE `displayID` `DisplayGroupID` INT( 11 ) NOT NULL  ;
 
129
 
 
130
ALTER TABLE `schedule_detail` DROP INDEX `displayid` ,
 
131
ADD INDEX `DisplayGroupID` ( `DisplayGroupID` ) ;
 
132
 
 
133
ALTER TABLE `schedule_detail` 
 
134
        ADD `FromDT` BIGINT NOT NULL DEFAULT '0',
 
135
        ADD `ToDT` BIGINT NOT NULL DEFAULT '0';
 
136
 
 
137
UPDATE `schedule_detail` SET 
 
138
        FromDT = UNIX_TIMESTAMP( starttime ) ,
 
139
        ToDT = UNIX_TIMESTAMP( endtime ) ;
 
140
        
 
141
ALTER TABLE `schedule_detail`
 
142
  DROP `starttime`,
 
143
  DROP `endtime`;
 
144
  
 
145
UPDATE schedule_detail SET FromDT = 946684800 WHERE FromDT = 0;
 
146
  
 
147
ALTER TABLE `schedule_detail` DROP INDEX `schedule_detail_ibfk_3`;
 
148
ALTER TABLE `schedule_detail` DROP INDEX `IM_SDT_DisplayID`;
 
149
 
 
150
 
 
151
/* Users and Groups */
 
152
CREATE TABLE IF NOT EXISTS `lkusergroup` (
 
153
  `LkUserGroupID` int(11) NOT NULL auto_increment,
 
154
  `GroupID` int(11) NOT NULL,
 
155
  `UserID` int(11) NOT NULL,
 
156
  PRIMARY KEY  (`LkUserGroupID`),
 
157
  KEY `GroupID` (`GroupID`),
 
158
  KEY `UserID` (`UserID`)
 
159
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
 
160
 
 
161
/* Add the user specific flag to groups */
 
162
ALTER TABLE `group` ADD `IsUserSpecific` TINYINT NOT NULL DEFAULT '0';
 
163
 
 
164
 
 
165
/* Add contraints to the new table */
 
166
ALTER TABLE `lkusergroup` ADD FOREIGN KEY ( `GroupID` ) REFERENCES `group` (
 
167
`groupID`
 
168
);
 
169
 
 
170
ALTER TABLE `lkusergroup` ADD FOREIGN KEY ( `UserID` ) REFERENCES `user` (
 
171
`UserID`
 
172
);
 
173
 
 
174
 
 
175
/* VERSION UPDATE */
 
176
/* Set the version table, etc */
 
177
UPDATE `version` SET `app_ver` = '1.1.0';
 
178
UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
 
179
UPDATE `version` SET `DBVersion` = '20';