IntegralController.class.php
1.94 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
<?php
/**
* Created by PhpStorm.
* User: liyifei2012it
* Date: 17/8/15
* Time: 16:48
*/
namespace Frontend\Controller\UpdateDB;
class IntegralController extends AbstractController
{
/**
* 积分策略版本迭代,数据库升级脚本
* @author liyifei
* @date 2017-08-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
* 1、新增oa_answer_user_action表,记录用户积分埋点动作;
* @author liyifei
* @return string
*/
private function _updateSql()
{
$alterSql = "
CREATE TABLE IF NOT EXISTS `oa_answer_user_action` (
`user_action_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` char(32) NOT NULL COMMENT '用户ID',
`data_id` int(10) NOT NULL COMMENT '数据ID',
`action_key` varchar(50) NOT NULL COMMENT '动作Key',
`domain` char(32) NOT NULL COMMENT '企业域名',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据状态(1=新创建;2=已更新;3=已删除)',
`created` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted` bigint(20) NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`user_action_id`),
KEY `uid` (`uid`,`action_key`,`data_id`),
KEY `domain` (`domain`),
KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户动作表';
";
return $alterSql;
}
}