<?php /** * Created by PhpStorm. * User: liyifei2012it * Date: 17/8/15 * Time: 16:48 */ namespace Frontend\Controller\UpdateDB; use Think\Db; class ProfessionController extends AbstractController { /** * 增加专业回答,数据库升级脚本 * @author tangxingguo * @date 2017-9-26 */ 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_answer_answer(回答表),增加customtask_id字段; * 2、将历史回答内分类负责人的回答改为专业回答状态; * @author liyifei * @return string */ private function _updateSql() { // sql初始化 $sql = ''; $qy_domain = QY_DOMAIN; $DbServ = &Db::getInstance(); // 1、修改oa_answer_answer(回答表),增加is_profession字段; $articleColumnList = $DbServ->query("show columns from `oa_answer_answer`"); $articleColumns = array_column($articleColumnList, 'field'); if (!in_array('is_profession', $articleColumns)) { $sql .= "ALTER TABLE `oa_answer_answer` ADD COLUMN `is_profession` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否为分类负责人回答(1=否;2=是)' AFTER `is_best`;"; } // 将历史回答内分类负责人的回答改为专业回答状态; // $classSql = "select * from `oa_answer_class` where `domain` = '{$qy_domain}' and `status` < 3"; // $classList = $DbServ->query($classSql); // if (!empty($classList)) { // foreach ($classList as $class) { // // 分类审核人 // $checkerUid = $class['manager_id']; // $class_id = $class['class_id']; // // 更新审核人回答is_profession字段值 // $updated = MILLI_TIME; // $sql .= "UPDATE `oa_answer_answer` SET `is_profession` = 2, `updated` = {$updated} WHERE `domain` = '{$qy_domain}' and `uid` = '$checkerUid' and `class_id` = {$class_id} and `status` < 3;"; // } // } return $sql; } }