structure.php 17.5 KB
<?php
/**
 * 应用的数据表结构文件
 * structure.php
 * $Author$
 */
return "
CREATE TABLE IF NOT EXISTS `oa_answer_answer` (
  `answer_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `question_id` int(10) NOT NULL DEFAULT '0' COMMENT '问题ID',
  `class_id` int(10) NOT NULL DEFAULT '0' COMMENT '分类ID',
  `user_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '回答人类型(1=用户;2=管理员)',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '用户UID',
  `is_anonymous` TINYINT(3) NOT NULL DEFAULT '2' COMMENT '匿名回答(1=是,2=否)',
  `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `checker_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '审核人类型(1=用户;2=管理员)',
  `checker_uid` char(32) NOT NULL DEFAULT '' COMMENT '审核人UID',
  `checker_name` varchar(50) NOT NULL DEFAULT '' COMMENT '审核人姓名',
  `answer_content` text NOT NULL COMMENT '回答内容',
  `is_best` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否是最佳答案(1=否;2=是)',
  `is_profession` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否为分类负责人回答(1=否;2=是)',
  `like_total` int(11) NOT NULL DEFAULT '0' COMMENT '点赞总数',
  `check_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '审核时间',
  `check_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '审核状态(1=待审核;2=审核通过;3=审核未通过)',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`answer_id`),
  KEY `question_id` (`question_id`),
  KEY `is_best` (`is_best`),
  KEY `check_status` (`check_status`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='回答表';

CREATE TABLE IF NOT EXISTS `oa_answer_class` (
  `class_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `class_name` varchar(20) NOT NULL DEFAULT '' COMMENT '分类名称',
  `description` varchar(60) NOT NULL DEFAULT '' COMMENT '分类描述',
  `manager_id` char(32) NOT NULL DEFAULT '' COMMENT '负责人UID',
  `manager_name` varchar(50) NOT NULL DEFAULT '' COMMENT '负责人姓名',
  `order` int(11) NOT NULL DEFAULT '-1' COMMENT '分类排序',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`class_id`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='分类表';

CREATE TABLE IF NOT EXISTS `oa_answer_config` (
  `config_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `rights` text NOT NULL,
  `domain` char(32) NOT NULL DEFAULT '' 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 (`config_id`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='配置表';

CREATE TABLE IF NOT EXISTS `oa_answer_img` (
  `img_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `question_id` int(10) NOT NULL DEFAULT '0' COMMENT '问题ID',
  `answer_id` int(10) NOT NULL DEFAULT '0' COMMENT '回答ID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '用户UID',
  `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `at_id` char(32) NOT NULL DEFAULT '' COMMENT '附件ID',
  `at_url` varchar(500) NOT NULL DEFAULT '' COMMENT '附件Url',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`img_id`),
  KEY `question_id` (`question_id`),
  KEY `answer_id` (`answer_id`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='提问、回答图片表';

CREATE TABLE IF NOT EXISTS `oa_answer_like` (
  `like_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `answer_id` int(10) NOT NULL DEFAULT '0' COMMENT '回答ID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '用户UID',
  `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`like_id`),
  KEY `answer_id` (`answer_id`),
  KEY `uid` (`uid`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='点赞表';

CREATE TABLE IF NOT EXISTS `oa_answer_question` (
  `question_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `class_id` int(10) NOT NULL DEFAULT '0' COMMENT '分类ID',
  `is_anonymous` int(10) NOT NULL DEFAULT '0' COMMENT '是否匿名 0=否 1=是',
  `very_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '精品时间',
  `answer_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '推荐答案ID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '用户UID',
  `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `checker_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '审核人类型(1=用户;2=管理员)',
  `checker_uid` char(32) NOT NULL DEFAULT '' COMMENT '审核人UID',
  `checker_name` varchar(50) NOT NULL DEFAULT '' COMMENT '审核人姓名',
  `question_title` varchar(20) NOT NULL DEFAULT '' COMMENT '提问标题',
  `description` text NOT NULL COMMENT '描述',
  `integral` int(11) NOT NULL DEFAULT '0' COMMENT '积分',
  `is_solve` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否解决(1=未解决;2=已解决)',
  `comment_anonymous` TINYINT(3) NOT NULL DEFAULT '1' COMMENT '是否开启匿名回答(1=否,2=是)',
  `answer_wait_total` int(11) NOT NULL DEFAULT '0' COMMENT '待审核回答总数',
  `answer_pass_total` int(11) NOT NULL DEFAULT '0' COMMENT '已审核回答总数',
  `check_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '审核时间',
  `check_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '审核状态(1=待审核;2=审核通过;3=审核未通过)',
  `top_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '置顶时间(根据置顶时间倒序)',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`question_id`),
  KEY `class_id` (`class_id`),
  KEY `uid` (`uid`),
  KEY `username` (`username`),
  KEY `question_title` (`question_title`),
  KEY `is_solve` (`is_solve`),
  KEY `check_status` (`check_status`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='提问表';

CREATE TABLE IF NOT EXISTS `oa_answer_setting` (
  `setting_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `key` varchar(255) NOT NULL DEFAULT '' COMMENT '变量名',
  `value` text NOT NULL COMMENT '变量值',
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '缓存类型:0=非数组; 1=数组',
  `comment` text NOT NULL COMMENT '说明',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`setting_id`),
  KEY `key` (`key`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';

CREATE TABLE IF NOT EXISTS `oa_answer_syscache` (
  `syscache_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键自增id',
  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '缓存文件名',
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '缓存类型:0=非数组,1=数组',
  `data` mediumblob NOT NULL COMMENT '数据',
  `domain` char(32) NOT NULL DEFAULT '' 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 (`syscache_id`),
  KEY `name` (`name`),
  KEY `domain` (`domain`),
  KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='系统缓存';

CREATE TABLE IF NOT EXISTS `oa_answer_user_action` (
  `user_action_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '用户ID',
  `data_id` int(10) NOT NULL DEFAULT '0' COMMENT '数据ID',
  `action_key` varchar(50) NOT NULL DEFAULT '' COMMENT '动作Key',
  `domain` char(32) NOT NULL DEFAULT '' 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`) USING BTREE,
  KEY `domain` (`domain`) USING BTREE,
  KEY `status` (`status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户动作表';

/**----------------20180620迭代新增表---------------------**/

CREATE TABLE IF NOT EXISTS  `oa_answer_right` (
  `er_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  `epc_id` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '策略ID',
  `source_type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '权限来源(1:选择[默认],2:导入[只有人员会存在导入])',
  `uid` CHAR(32) NOT NULL DEFAULT '' COMMENT '人员 ID',
  `cd_id` CHAR(32) NOT NULL DEFAULT '' COMMENT '部门 ID',
  `tag_id` CHAR(32) NOT NULL DEFAULT '' COMMENT '标签 ID',
  `job_id` CHAR(32) NOT NULL DEFAULT '' COMMENT '岗位 ID',
  `role_id` CHAR(32) NOT NULL DEFAULT '' COMMENT '角色 ID',
  `domain` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` BIGINT(13) UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` BIGINT(13) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` BIGINT(13) UNSIGNED NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`er_id`),
  KEY `epc_id` (`epc_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答 - 权限表';

CREATE TABLE IF NOT EXISTS  `oa_answer_medal` (
  `em_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `title` varchar(255) NOT NULL DEFAULT '' COMMENT '激励行为',
  `em_desc` text NOT NULL COMMENT '激励描述',
  `em_type` int(10) NOT NULL DEFAULT '0' COMMENT '激励类型,0=勋章,1=积分',
  `im_id` char(32) NOT NULL DEFAULT '' COMMENT '勋章ID',
  `em_integral` int(10) NOT NULL DEFAULT '0' COMMENT '积分',
  `icon_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '图标来源 (1:用户上传 2: 系统预设)',
  `is_all` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否全部 (0:否 1:全部)',
  `em_rule` text NOT NULL COMMENT '规格数值序列化 ID,name',
  `answer_type` int(10) NOT NULL DEFAULT '1' COMMENT '类型 1=回答被采纳 2=回答问题 3=采纳问题',
  `em_number` int(10) NOT NULL DEFAULT '0' COMMENT '次数',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`em_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答-激励表';

CREATE TABLE IF NOT EXISTS  `oa_answer_medal_record` (
  `emrid` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '领取人UID',
  `em_id` int(10) NOT NULL DEFAULT '0' COMMENT '激励ID',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`emrid`),
  KEY `uid` (`uid`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答-勋章,积分领取表';

CREATE TABLE IF NOT EXISTS  `oa_answer_medal_relation` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `class_id` int(10) NOT NULL DEFAULT '0' COMMENT '类型ID',
  `em_id` int(10) NOT NULL DEFAULT '0' COMMENT '激励ID',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`id`),
  KEY `em_id` (`em_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答-激励关联表';

CREATE TABLE IF NOT EXISTS  `oa_answer_invite_log` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `question_id` int(10) NOT NULL DEFAULT '0' COMMENT '问题ID',
  `invite` char(32) NOT NULL DEFAULT '' COMMENT '邀请人UID',
  `ea_id` char(32) NOT NULL DEFAULT '' COMMENT '邀请管理员UID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '被邀请人UID',
  `read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已读, 0=未读 1=已读',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`id`),
  KEY `question_id` (`question_id`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答-邀请日志表';

CREATE TABLE IF NOT EXISTS  `oa_answer_action_log` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '操作类型 1=回答问题 2=回答被采纳 ',
  `answer_id` int(10) NOT NULL DEFAULT '0' COMMENT '回答ID',
  `answer_uid` char(32) NOT NULL DEFAULT '' COMMENT '回答人UID',
  `class_id` int(10) NOT NULL DEFAULT '0' COMMENT '类型ID',
  `question_id` int(10) NOT NULL DEFAULT '0' COMMENT '问题ID',
  `ea_id` char(32) NOT NULL DEFAULT '' COMMENT '操作管理员UID',
  `uid` char(32) NOT NULL DEFAULT '' COMMENT '操作人UID',
  `domain` varchar(32) NOT NULL DEFAULT '' COMMENT '企业域名',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除',
  `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
  `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
  PRIMARY KEY (`id`),
  KEY `question_id` (`question_id`),
  KEY `type` (`type`),
  KEY `domain_status` (`domain`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='问答-勋章规则操作日志';

/**
 * 迭代2018-06-20新增字段
    ALTER TABLE oa_answer_question ADD `is_anonymous` int(10) NOT NULL DEFAULT '0' COMMENT '是否匿名 0=否 1=是' AFTER `class_id`;
    ALTER TABLE oa_answer_question ADD `very_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '精品时间' AFTER `is_anonymous`;
    ALTER TABLE oa_answer_question ADD `answer_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '推荐答案ID' AFTER `very_time`;
 */

";