TrainController.class.php
3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
/**
* Created by PhpStorm.
* User: liyifei2012it
* Date: 17/9/12
* Time: 18:25
*/
namespace Frontend\Controller\UpdateDB;
use Think\Db;
class TrainController extends AbstractController
{
/**
* 课程中心接入线下培训,数据库升级脚本
* @author liyifei
* @date 2017-09-12
*/
public function Index()
{
$sql = $this->_updateSql();
if (empty($sql)) {
exit('没有可升级的sql');
}
$db = &Db::getInstance();
try {
$db->execute($sql);
} catch (\Exception $e) {
exit("数据库升级失败:" . $e->getMessage());
}
exit("数据库升级完成,执行sql如下:{$sql}");
}
/**
* 待升级的sql
* 1、升级oa_course_article(课程主表),修改course_type说明;
* 2、升级oa_course_exam(课程测评结果记录表),增加plan_id、ed_id字段;
* 3、升级oa_course_study_record(课程学习记录表),增加plan_id、ed_id字段;
* 4、升级oa_course_study(课程已学人员表),增加plan_id、ed_id字段;
* @author liyifei
* @return string
*/
private function _updateSql()
{
$sql = '';
$DbServ = &Db::getInstance();
// 1、升级oa_course_article(课程主表),修改course_type说明;
$sql .= "ALTER TABLE `oa_course_article`
CHANGE COLUMN `course_type` `course_type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '课程类别(1=常规课程;2=任务类课程;3=线下培训类课程)';";
// 2、升级oa_course_exam(课程测评结果记录表),增加plan_id、ed_id字段;
$rowExam = $DbServ->query("SELECT * FROM `oa_course_exam` LIMIT 1");
if (!empty($rowExam) && !isset($rowExam['plan_id']) && !isset($rowExam['ed_id'])) {
$sql .= "ALTER TABLE `oa_course_exam`
ADD COLUMN `plan_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训计划ID' AFTER `customtask_id`,
ADD COLUMN `ed_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训ID' AFTER `plan_id`;";
}
// 3、升级oa_course_study_record(课程学习记录表),增加plan_id、ed_id字段;
$rowRecord = $DbServ->query("SELECT * FROM `oa_course_study_record` LIMIT 1");
if (!empty($rowRecord) && !isset($rowRecord['plan_id']) && !isset($rowRecord['ed_id'])) {
$sql .= "ALTER TABLE `oa_course_study_record`
ADD COLUMN `plan_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训计划ID' AFTER `customtask_id`,
ADD COLUMN `ed_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训ID' AFTER `plan_id`;";
}
// 4、升级oa_course_study(课程已学人员表),增加plan_id、ed_id字段;
$rowStudy = $DbServ->query("SELECT * FROM `oa_course_study` LIMIT 1");
if (!empty($rowStudy) && !isset($rowStudy['plan_id']) && !isset($rowStudy['ed_id'])) {
$sql .= "ALTER TABLE `oa_course_study`
ADD COLUMN `plan_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训计划ID' AFTER `customtask_id`,
ADD COLUMN `ed_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '培训ID' AFTER `plan_id`;";
}
return $sql;
}
}