123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- /* ---------------------------------------------------- */
- /* Generated by Enterprise Architect Version 12.0 */
- /* Created On : 09-Dec-2016 10:34:58 AM */
- /* DBMS : MySql */
- /* ---------------------------------------------------- */
- SET FOREIGN_KEY_CHECKS=0;
- /* Drop Tables */
- DROP TABLE IF EXISTS `app_status` CASCADE
- ;
- DROP TABLE IF EXISTS `topics` CASCADE
- ;
- DROP TABLE IF EXISTS `p2p_messages` CASCADE
- ;
- DROP TABLE IF EXISTS `group_messages` CASCADE
- ;
- DROP TABLE IF EXISTS `muc_messages` CASCADE
- ;
- DROP TABLE IF EXISTS `participants` CASCADE
- ;
- DROP TABLE IF EXISTS `sessions` CASCADE
- ;
- DROP TABLE IF EXISTS `sticky_sessions` CASCADE
- ;
- DROP TABLE IF EXISTS `wechat_access_tokens` CASCADE
- ;
- /* Create Tables */
- CREATE TABLE `app_status`
- (
- `user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
- `platform` TINYINT COMMENT '平台,0为iOS,1为安卓',
- `token` VARCHAR(100) COMMENT '个推Token',
- `client_id` VARCHAR(100) COMMENT '客户端ID',
- `app_in_bg` TINYINT COMMENT 'App是否处于后台状态',
- `last_login_time` TIMESTAMP(0) COMMENT '最后登录 时间',
- CONSTRAINT `PK_user_status` PRIMARY KEY (`user_id`)
- ) COMMENT='app端状态'
- CREATE TABLE `topics`
- (
- `id` INTEGER NOT NULL COMMENT 'ID',
- `session_id` VARCHAR(50) NOT NULL COMMENT 'MUC会话ID',
- `name` VARCHAR(50) COMMENT '议题名称',
- `create_time` TIMESTAMP(0) COMMENT '创建时间',
- `end_by` VARCHAR(50) COMMENT '结束人ID',
- `start_message_id` INTEGER COMMENT '消息起始ID',
- `end_message_id` INTEGER COMMENT '消息结束ID',
- CONSTRAINT `PK_topics` PRIMARY KEY (`id`)
- ) COMMENT='议题,仅MUC模式使用。'
- ;
- CREATE TABLE `p2p_messages`
- (
- `id` VARCHAR(32) NOT NULL COMMENT '消息ID',
- `session_id` VARCHAR(50) NOT NULL COMMENT '所属会话',
- `sender_id` VARCHAR(50) NOT NULL COMMENT '消息发送者ID',
- `sender_name` VARCHAR(50) NOT NULL COMMENT '消息发送者姓名',
- `content_type` INTEGER NOT NULL COMMENT '消息类型,1文本,2图片,3语音,4文章,5跳转,6咨询开始,7咨询结束',
- `content` VARCHAR(1024) COMMENT '消息内容',
- `timestamp` TIMESTAMP(0) COMMENT '发送时间',
- CONSTRAINT `PK_messages` PRIMARY KEY (`id`)
- ) COMMENT='P2P会话消息'
- ;
- CREATE TABLE `group_messages`
- (
- `id` VARCHAR(32) NOT NULL COMMENT '消息ID',
- `session_id` VARCHAR(50) NOT NULL COMMENT '所属会话',
- `sender_id` VARCHAR(50) NOT NULL COMMENT '消息发送者ID',
- `sender_name` VARCHAR(50) NOT NULL COMMENT '消息发送者姓名',
- `content_type` INTEGER NOT NULL COMMENT '消息类型,1文本,2图片,3语音,4文章,5跳转,6咨询开始,7咨询结束',
- `content` VARCHAR(1024) COMMENT '消息内容',
- `timestamp` TIMESTAMP(0) COMMENT '发送时间',
- CONSTRAINT `PK_messages` PRIMARY KEY (`id`)
- ) COMMENT='群会话消息'
- ;
- CREATE TABLE `muc_messages`
- (
- `id` VARCHAR(32) NOT NULL COMMENT '消息ID',
- `session_id` VARCHAR(50) NOT NULL COMMENT '所属会话',
- `sender_id` VARCHAR(50) NOT NULL COMMENT '消息发送者ID',
- `sender_name` VARCHAR(50) NOT NULL COMMENT '消息发送者姓名',
- `content_type` INTEGER NOT NULL COMMENT '消息类型,1文本,2图片,3语音,4文章,5跳转,6咨询开始,7咨询结束',
- `content` VARCHAR(1024) COMMENT '消息内容',
- `timestamp` TIMESTAMP(0) COMMENT '发送时间',
- CONSTRAINT `PK_messages` PRIMARY KEY (`id`)
- ) COMMENT='MUC会话消息'
- ;
- CREATE TABLE `participants`
- (
- `session_id` VARCHAR(50) NOT NULL COMMENT '会话ID。ID结构:以患者ID+最大次数',
- `participaint_id` VARCHAR(50) NOT NULL COMMENT '参与者ID',
- `participaint_role` INTEGER COMMENT '参与者角色,MUC模式中的主持人/普通参与者',
- `receiving` TINYINT COMMENT '当前是否正在接收',
- CONSTRAINT `PK_participants` PRIMARY KEY (`session_id`,`participaint_id`)
- ) COMMENT='会话参与者'
- ;
- CREATE TABLE `sessions`
- (
- `id` VARCHAR(50) NOT NULL COMMENT '会话标识。会话标识来源根据业务场景:1 医生间P2P会话使用随机生成的ID;2 医生间的群会话使用行政团队的ID;3 医生与患者间的咨询以患者的ID+当前咨询次数为ID',
- `name` VARCHAR(50) NOT NULL COMMENT '会话名称',
- `type` INTEGER NOT NULL COMMENT '会话类型,1表示MUC会话,2表示P2P,3表示群会话,4表示临时讨论组',
- `create_date` DATE NOT NULL COMMENT '创建时间',
- CONSTRAINT `PK_sessions` PRIMARY KEY (`id`)
- ) COMMENT='会话'
- ;
- CREATE TABLE `sticky_sessions`
- (
- `user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
- `session_id` VARCHAR(50) NOT NULL COMMENT '会话ID',
- `score` INTEGER COMMENT '置顶分值',
- CONSTRAINT `PK_sticky_sessions` PRIMARY KEY (`user_id`,`session_id`)
- ) COMMENT='置顶会话'
- ;
- CREATE TABLE `wechat_access_tokens`
- (
- `access_token` VARCHAR(50) NOT NULL COMMENT '访问token',
- `expiry_date` TIMESTAMP(0) COMMENT '过期时间',
- `create_time` TIMESTAMP(0) COMMENT '数据创建时间',
- CONSTRAINT `PK_wechat_access_tokens` PRIMARY KEY (`access_token`)
- ) COMMENT='微信接口调用所需要token'
- ;
- /* Create Primary Keys, Indexes, Uniques, Checks */
- ALTER TABLE `topics`
- ADD INDEX `IXFK_topics_sessions` (`session_id` ASC)
- ;
- ALTER TABLE `p2p_messages`
- ADD INDEX `IXFK_messages_participants` (`session_id` ASC,`sender_id` ASC)
- ;
- ALTER TABLE `p2p_messages`
- ADD INDEX `IXFK_messages_sessions` (`session_id` ASC)
- ;
- ALTER TABLE `group_messages`
- ADD INDEX `IXFK_messages_participants` (`session_id` ASC,`sender_id` ASC)
- ;
- ALTER TABLE `group_messages`
- ADD INDEX `IXFK_messages_sessions` (`session_id` ASC)
- ;
- ALTER TABLE `muc_messages`
- ADD INDEX `IXFK_messages_participants` (`session_id` ASC,`sender_id` ASC)
- ;
- ALTER TABLE `muc_messages`
- ADD INDEX `IXFK_messages_sessions` (`session_id` ASC)
- ;
- SET FOREIGN_KEY_CHECKS=1;
- /* 用户视图:医生、患者、用户微信状态*/
- create or replace view doctors as
- select code id, name, sex, birthday birthdate, photo avatar, level
- from wlyy.wlyy_doctor;
- create or replace view patients as
- select code id, name, sex, birthday birthdate, photo avatar, openid
- from wlyy.wlyy_patient;
- create or replace view wechat_status as
- select code user_id, openid open_id
- from wlyy.wlyy_patient
- ;
|