TaskUpdateController.class.php 1.91 KB
<?php
/**
 * Created by PhpStorm.
 * User: xtong
 * Date: 17/9/1
 * Time: 17:39
 */
namespace Frontend\Controller\UpdateDB;

class TaskUpdateController extends AbstractController
{
    /**
     * 任务中心、线下培训上线所需数据字段变更
     * @author daijun
     * @date 2017-09-15
     */
    public function Index()
    {
        $sql = $this->_updateSql();
        if (empty($sql)) {
            exit('没有可升级的sql');
        }

        $db = \Think\Db::getInstance();
        try {
            $db->execute($sql);
        } catch (\Exception $e) {
            exit("数据库升级失败:" . $e->getMessage());
        }

        exit("数据库升级完成,执行sql如下:{$sql}");
    }

    /**
     * 待升级的sql
     *      1. oa_questionnaire_baseinfo(调研主表),增加字段 qu_type
     *      2. oa_questionnaire_baseinfo(调研主表),增加索引 qu_type
     *      3. oa_questionnaire_answer(调研回答表),增加字段 data_type
     *      4. oa_questionnaire_answer(调研回答表),增加字段 obj_id
     *      5. oa_questionnaire_answer(调研回答表),增加索引 obj_id
     * @author daijun
     * @return string
     */
    private function _updateSql()
    {
        $sql = "
             ALTER TABLE `oa_questionnaire_baseinfo` ADD qu_type TINYINT(3) NOT NULL DEFAULT '1' COMMENT '调研类型 1=常规,2=任务,3=线下' AFTER `qu_id`;
             ALTER TABLE `oa_questionnaire_baseinfo` ADD INDEX qu_type (`qu_type`);
             ALTER TABLE `oa_questionnaire_answer` ADD data_type TINYINT(3) NOT NULL DEFAULT '1' COMMENT '调研类型 1=常规,2=任务,3=线下' AFTER `businessid`;
             ALTER TABLE `oa_questionnaire_answer` ADD obj_id  int(10) NOT NULL DEFAULT '0' COMMENT '任务ID,线下ID' AFTER `data_type`;
             ALTER TABLE `oa_questionnaire_answer` ADD INDEX obj_id (`obj_id`);
        ";
        return $sql;
    }
}