summaryrefslogtreecommitdiff
path: root/db/update.d/06_Shifts.php
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2011-12-26 16:09:15 +0100
committerPhilip Häusler <msquare@notrademark.de>2011-12-26 16:09:15 +0100
commitd0bb9fbbebf2112b7330476a471c18e06222634b (patch)
treeabc17d687448e1844c0cff3ca953bbf54f17d7be /db/update.d/06_Shifts.php
parent1852a2a1ae190391d47d5ce15398bc0c02c7071b (diff)
parent7154097581f231753005aaabdc12d00173b7ce27 (diff)
Merge branch 'master' of https://vcs.wybt.net/engelsystem/git
Diffstat (limited to 'db/update.d/06_Shifts.php')
-rw-r--r--db/update.d/06_Shifts.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/db/update.d/06_Shifts.php b/db/update.d/06_Shifts.php
new file mode 100644
index 00000000..721d73bc
--- /dev/null
+++ b/db/update.d/06_Shifts.php
@@ -0,0 +1,29 @@
+<?php
+if(sql_num_query("SHOW COLUMNS FROM `Shifts` LIKE 'Date_'") == 2) {
+ if(sql_num_query("DESCRIBE `Shifts` `Len`") != 0) {
+ if(sql_num_query("SELECT * FROM `Shifts` WHERE DATE_SUB(`DateE`, INTERVAL (`Len`*60) MINUTE) != `DateS`") != 0)
+ die("Inconsistent data in Shifts table, won't do update " . __FILE__);
+ else {
+ sql_query("ALTER TABLE `Shifts` DROP `Len`");
+ }
+ }
+ sql_query("ALTER TABLE `Shifts` CHANGE `DateS` `start` INT NOT NULL, CHANGE `DateE` `end` INT NOT NULL");
+
+ $applied = true;
+}
+
+if(sql_num_query("DESCRIBE `Shifts` `Man`") === 1 && sql_num_query("DESCRIBE `Shifts` `name`") === 0) {
+ sql_query("ALTER TABLE `Shifts` CHANGE `Man` `name` VARCHAR(1024) NULL");
+
+ $applied = true;
+}
+
+$res = sql_select("DESCRIBE `Shifts` `PSID`");
+if($res[0]['Type'] == 'text') {
+ sql_query("ALTER TABLE `Shifts` CHANGE `PSID` `PSID` INT NULL");
+
+ $applied = true;
+}
+_add_index("Shifts", array("PSID"), "UNIQUE");
+_add_index("Shifts", array("RID"));
+?>