-- -------------------------------- -- MM-Wiki 表结构 -- author: phachon -- -------------------------------- -- 手动安装时首先需要创建数据库 -- CREATE DATABASE IF NOT EXISTS mm_wiki DEFAULT CHARSET utf8; -- -------------------------------- -- 用户表 -- -------------------------------- DROP TABLE IF EXISTS `mw_user`; CREATE TABLE `mw_user` ( `user_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户 id', `username` varchar(100) NOT NULL DEFAULT '' COMMENT '用户名', `password` char(32) NOT NULL DEFAULT '' COMMENT '密码', `given_name` varchar(50) NOT NULL DEFAULT '' COMMENT '姓名', `mobile` char(13) NOT NULL DEFAULT '' COMMENT '手机号', `phone` char(13) NOT NULL DEFAULT '' COMMENT '电话', `email` varchar(50) NOT NULL DEFAULT '' COMMENT '邮箱', `department` char(50) NOT NULL DEFAULT '' COMMENT '部门', `position` char(50) NOT NULL DEFAULT '' COMMENT '职位', `location` char(50) NOT NULL DEFAULT '' COMMENT '位置', `im` char(50) NOT NULL DEFAULT '' COMMENT '即时聊天工具', `last_ip` varchar(15) NOT NULL DEFAULT '' COMMENT '最后登录ip', `last_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后登录时间', `role_id` tinyint(3) NOT NULL DEFAULT '0' COMMENT '角色 id', `is_forbidden` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否屏蔽,0 否 1 是', `is_delete` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否删除,0 否 1 是', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'; -- --------------------------------------------------------------- -- 系统角色表 -- --------------------------------------------------------------- DROP TABLE IF EXISTS `mw_role`; CREATE TABLE `mw_role` ( `role_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '角色 id', `name` char(10) NOT NULL DEFAULT '' COMMENT '角色名称', `type` tinyint(3) NOT NULL DEFAULT '0' COMMENT '角色类型 0 自定义角色,1 系统角色', `is_delete` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否删除,0 否 1 是', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`role_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统角色表'; -- ------------------------------------------------------- -- 系统权限表 -- ------------------------------------------------------- DROP TABLE IF EXISTS `mw_privilege`; CREATE TABLE `mw_privilege` ( `privilege_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '权限id', `name` char(30) NOT NULL DEFAULT '' COMMENT '权限名', `parent_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级', `type` enum('controller','menu') DEFAULT 'controller' COMMENT '权限类型:控制器、菜单', `controller` char(100) NOT NULL DEFAULT '' COMMENT '控制器', `action` char(100) NOT NULL DEFAULT '' COMMENT '动作', `icon` char(100) NOT NULL DEFAULT '' COMMENT '图标(用于展示)', `target` char(200) NOT NULL DEFAULT '' COMMENT '目标地址', `is_display` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否显示:0不显示 1显示', `sequence` int(10) NOT NULL DEFAULT '0' COMMENT '排序(越小越靠前)', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`privilege_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统权限表'; -- ------------------------------------------------------------------ -- 系统角色权限对应关系表 -- ------------------------------------------------------------------ DROP TABLE IF EXISTS `mw_role_privilege`; CREATE TABLE `mw_role_privilege` ( `role_privilege_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '角色权限关系 id', `role_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '角色id', `privilege_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '权限id', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`role_privilege_id`), KEY (`role_id`), KEY (`privilege_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统角色权限对应关系表'; -- -------------------------------- -- 空间表 -- -------------------------------- DROP TABLE IF EXISTS `mw_space`; CREATE TABLE `mw_space` ( `space_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '空间 id', `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称', `description` varchar(100) NOT NULL DEFAULT '' COMMENT '描述', `tags` varchar(255) NOT NULL DEFAULT '' COMMENT '标签', `visit_level` enum('private','public') NOT NULL DEFAULT 'public' COMMENT '访问级别:private,public', `is_share` tinyint(3) NOT NULL DEFAULT '1' COMMENT '文档是否允许分享 0 否 1 是', `is_export` tinyint(3) NOT NULL DEFAULT '1' COMMENT '文档是否允许导出 0 否 1 是', `is_delete` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否删除 0 否 1 是', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`space_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='空间表'; -- -------------------------------- -- 空间成员表 -- -------------------------------- DROP TABLE IF EXISTS `mw_space_user`; CREATE TABLE `mw_space_user` ( `space_user_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户空间关系 id', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户 id', `space_id` int(10) NOT NULL DEFAULT '0' COMMENT '空间 id', `privilege` tinyint(3) NOT NULL DEFAULT '0' COMMENT '空间成员操作权限 0 浏览者 1 编辑者 2 管理员', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', PRIMARY KEY (`space_user_id`), UNIQUE KEY (`user_id`, `space_id`), KEY (`user_id`), KEY (`space_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='空间成员表'; -- -------------------------------- -- 文档表 -- -------------------------------- DROP TABLE IF EXISTS `mw_document`; CREATE TABLE `mw_document` ( `document_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '文档 id', `parent_id` int(10) NOT NULL DEFAULT '0' COMMENT '文档父 id', `space_id` int(10) NOT NULL DEFAULT '0' COMMENT '空间id', `name` varchar(150) NOT NULL DEFAULT '' COMMENT '文档名称', `type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '文档类型 1 page 2 dir', `path` char(30) NOT NULL DEFAULT '0' COMMENT '存储根文档到父文档的 document_id 值, 格式 0,1,2,...', `sequence` int(10) NOT NULL DEFAULT '0' COMMENT '排序号(越小越靠前)', `create_user_id` int(10) NOT NULL DEFAULT '0' COMMENT '创建用户 id', `edit_user_id` int(10) NOT NULL DEFAULT '0' COMMENT '最后修改用户 id', `is_delete` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否删除 0 否 1 是', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`document_id`), KEY (`parent_id`), KEY (`space_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文档表'; -- -------------------------------- -- 用户收藏表 -- -------------------------------- DROP TABLE IF EXISTS `mw_collection`; CREATE TABLE `mw_collection` ( `collection_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户收藏关系 id', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户id', `type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '收藏类型 1 文档 2 空间', `resource_id` int(10) NOT NULL DEFAULT '0' COMMENT '收藏资源 id ', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`collection_id`), KEY (`user_id`), UNIQUE key (`user_id`, `resource_id`, `type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户收藏表'; -- -------------------------------- -- 用户关注表 -- -------------------------------- DROP TABLE IF EXISTS `mw_follow`; CREATE TABLE `mw_follow` ( `follow_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '关注 id', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户id', `type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '关注类型 1 文档 2 用户', `object_id` int(10) NOT NULL DEFAULT '0' COMMENT '关注对象 id', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`follow_id`), KEY (`user_id`), KEY (`object_id`), UNIQUE key (`user_id`, `object_id`, `type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户关注表'; -- -------------------------------- -- 文档日志表 -- -------------------------------- DROP TABLE IF EXISTS `mw_log_document`; CREATE TABLE `mw_log_document` ( `log_document_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '文档日志 id', `document_id` int(10) NOT NULL DEFAULT '0' COMMENT '文档id', `space_id` int(10) NOT NULL DEFAULT '0' COMMENT '空间id', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户id', `action` tinyint(3) NOT NULL DEFAULT '1' COMMENT '动作 1 创建 2 修改 3 删除', `comment` varchar(255) NOT NULL DEFAULT '' COMMENT '备注信息', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`log_document_id`), KEY (`document_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文档日志表'; -- -------------------------------- -- 系统操作日志表 -- -------------------------------- DROP TABLE IF EXISTS `mw_log`; CREATE TABLE `mw_log` ( `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '系统操作日志 id', `level` tinyint(3) NOT NULL DEFAULT '6' COMMENT '日志级别', `path` char(100) NOT NULL DEFAULT '' COMMENT '请求路径', `get` text NOT NULL COMMENT 'get参数', `post` text NOT NULL COMMENT 'post参数', `message` varchar(255) NOT NULL DEFAULT '' COMMENT '信息', `ip` char(100) NOT NULL DEFAULT '' COMMENT 'ip地址', `user_agent` char(200) NOT NULL DEFAULT '' COMMENT '用户代理', `referer` char(100) NOT NULL DEFAULT '' COMMENT 'referer', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户id', `username` char(100) NOT NULL DEFAULT '' COMMENT '用户名', `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`log_id`), KEY (`level`, `username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统操作日志表'; -- -------------------------------- -- 邮件服务器表 -- -------------------------------- DROP TABLE IF EXISTS `mw_email`; CREATE TABLE `mw_email` ( `email_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '邮箱 id', `name` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱服务器名称', `sender_address` varchar(100) NOT NULL DEFAULT '' COMMENT '发件人邮件地址', `sender_name` varchar(100) NOT NULL DEFAULT '' COMMENT '发件人显示名', `sender_title_prefix` varchar(100) NOT NULL DEFAULT '' COMMENT '发送邮件标题前缀', `host` char(100) NOT NULL DEFAULT '' COMMENT '服务器主机名', `port` int(5) NOT NULL DEFAULT '25' COMMENT '服务器端口', `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名', `password` varchar(50) NOT NULL DEFAULT '' COMMENT '密码', `is_ssl` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用ssl, 0 默认不使用 1 使用', `is_used` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否被使用, 0 默认不使用 1 使用', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`email_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='邮件服务器表'; -- -------------------------------- -- 快捷链接表 -- -------------------------------- DROP TABLE IF EXISTS `mw_link`; CREATE TABLE `mw_link` ( `link_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '链接 id', `name` varchar(50) NOT NULL DEFAULT '' COMMENT '链接名称', `url` varchar(100) NOT NULL DEFAULT '' COMMENT '链接地址', `sequence` int(10) NOT NULL DEFAULT '0' COMMENT '排序号(越小越靠前)', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`link_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='快捷链接表'; -- -------------------------------- -- 统一登录认证表 -- -------------------------------- DROP TABLE IF EXISTS `mw_login_auth`; CREATE TABLE `mw_login_auth` ( `login_auth_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '认证表主键ID', `name` varchar(30) NOT NULL COMMENT '登录认证名称', `username_prefix` varchar(30) NOT NULL COMMENT '用户名前缀', `url` varchar(200) NOT NULL COMMENT '认证接口 url', `ext_data` varchar(500) NOT NULL DEFAULT '' COMMENT '额外数据: token=aaa&key=bbb', `is_used` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否被使用, 0 默认不使用 1 使用', `is_delete` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除 0 否 1 是', `create_time` int(11) NOT NULL COMMENT '创建时间', `update_time` int(11) NOT NULL COMMENT '更新时间', PRIMARY KEY (`login_auth_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='统一登录认证表'; -- -------------------------------- -- 全局配置表 -- -------------------------------- DROP TABLE IF EXISTS `mw_config`; CREATE TABLE `mw_config` ( `config_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '配置表主键Id', `name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置名称', `key` char(50) NOT NULL DEFAULT '' COMMENT '配置键', `value` text NOT NULL COMMENT '配置值', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`config_id`), unique KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='全局配置表'; -- -------------------------------- -- 系统联系人表 -- -------------------------------- DROP TABLE IF EXISTS `mw_contact`; CREATE TABLE `mw_contact` ( `contact_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '联系人 id', `name` varchar(50) NOT NULL DEFAULT '' COMMENT '联系人名称', `mobile` char(13) NOT NULL DEFAULT '' COMMENT '联系电话', `email` varchar(50) NOT NULL DEFAULT '' COMMENT '邮箱', `position` varchar(100) NOT NULL DEFAULT '' COMMENT '联系人职位', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`contact_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='联系人表'; -- -------------------------------- -- 附件信息表 -- -------------------------------- DROP TABLE IF EXISTS `mw_attachment`; CREATE TABLE `mw_attachment` ( `attachment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '附件 id', `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '创建用户id', `document_id` int(10) NOT NULL DEFAULT '0' COMMENT '所属文档id', `name` varchar(50) NOT NULL DEFAULT '' COMMENT '附件名称', `path` varchar(100) NOT NULL DEFAULT '' COMMENT '附件路径', `source` tinyint(1) NOT NULL DEFAULT '0' COMMENT '附件来源, 0 默认是附件 1 图片', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`attachment_id`), KEY (`document_id`, `source`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='附件信息表';