1 | <?php
|
---|
2 |
|
---|
3 | function FullInstall($Manager)
|
---|
4 | {
|
---|
5 | $Manager->Execute('CREATE TABLE IF NOT EXISTS `SystemVersion` (
|
---|
6 | `Id` int(11) NOT NULL AUTO_INCREMENT,
|
---|
7 | `Revision` int(11) NOT NULL,
|
---|
8 | PRIMARY KEY (`Id`)
|
---|
9 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
|
---|
10 | $Manager->Execute('INSERT INTO `SystemVersion` (`Id`, `Revision`) VALUES (NULL, 65);');
|
---|
11 | $Manager->Execute('CREATE TABLE IF NOT EXISTS `measure` (
|
---|
12 | `Id` int(11) NOT NULL auto_increment,
|
---|
13 | `Name` varchar(255) collate utf8_general_ci NOT NULL,
|
---|
14 | `Description` varchar(255) collate utf8_general_ci NOT NULL,
|
---|
15 | `Divider` int(11) NOT NULL default 1,
|
---|
16 | `Unit` varchar(16) collate utf8_general_ci NOT NULL,
|
---|
17 | `Continuity` tinyint(1) NOT NULL default 0,
|
---|
18 | `Period` int(11) NOT NULL default 60,
|
---|
19 | `OldName` varchar(32) collate utf8_general_ci NOT NULL,
|
---|
20 | `PermissionView` varchar(255) collate utf8_general_ci NOT NULL default "all",
|
---|
21 | `PermissionAdd` varchar(255) collate utf8_general_ci NOT NULL default "localhost.localdomain",
|
---|
22 | `Info` varchar(255) collate utf8_general_ci NOT NULL,
|
---|
23 | `Enabled` int(11) NOT NULL default 1,
|
---|
24 | `Cumulative` int(11) NOT NULL default 0,
|
---|
25 | `DataTable` varchar(32) collate utf8_general_ci NOT NULL default "data",
|
---|
26 | `DataType` varchar(32) collate utf8_general_ci NOT NULL,
|
---|
27 | PRIMARY KEY (`Id`)
|
---|
28 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
|
---|
29 | }
|
---|
30 |
|
---|
31 | function UpdateTo67($Manager)
|
---|
32 | {
|
---|
33 | $Manager->Execute('RENAME TABLE `measure` TO `Measure`;');
|
---|
34 | /*
|
---|
35 | $Manager->Execute('CREATE TABLE IF NOT EXISTS `Permission` (
|
---|
36 | `Id` int(11) NOT NULL AUTO_INCREMENT,
|
---|
37 | `Measure` int(11) NOT NULL,
|
---|
38 | `Address` varchar(255) NOT NULL,
|
---|
39 | `Operation` varchar(255) NOT NULL,
|
---|
40 | PRIMARY KEY (`Id`),
|
---|
41 | KEY `Measure` (`Measure`)
|
---|
42 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
|
---|
43 | $Manager->Execute('ALTER TABLE `Permission` ADD FOREIGN KEY (`Measure`) '.
|
---|
44 | 'REFERENCES `Measure`(`Id`) ON DELETE RESTRICT ON UPDATE RESTRICT;');
|
---|
45 | $DbResult = $Manager->Execute('SELECT `Id`, `PermissionAdd` FROM `Measure`');
|
---|
46 | while($DbRow = $DbResult->fetch_assoc())
|
---|
47 | {
|
---|
48 | $Manager->Execute('INSERT INTO `Permission` (`Measure`, `Operation`) VALUES ('.
|
---|
49 | $DbRow['Id'].', "add");');
|
---|
50 | }
|
---|
51 | $DbResult = $Manager->Execute('SELECT `Id`, `PermissionView` FROM `Measure`');
|
---|
52 | while($DbRow = $DbResult->fetch_assoc())
|
---|
53 | {
|
---|
54 | $Manager->Execute('INSERT INTO `Permission` (`Measure`, `Operation`) VALUES ('.
|
---|
55 | $DbRow['Id'].', "view");');
|
---|
56 | }
|
---|
57 | */
|
---|
58 | }
|
---|
59 |
|
---|
60 | class Updates
|
---|
61 | {
|
---|
62 | function Get()
|
---|
63 | {
|
---|
64 | return(array(
|
---|
65 | 65 => array('Revision' => 67, 'Function' => 'UpdateTo67'),
|
---|
66 | ));
|
---|
67 | }
|
---|
68 | }
|
---|