create database if not exists ms character set utf8;
User
- name (用户名)
- String
- id (后端生成)
- int
- password (密码)
- String
- userAvatar (头像)
- url (有默认值)
- userSignature (个性签名)
- String
- following (关注人)
- 新表
- follower (被谁关注)
- 新表
- exp (经验值)
- int
- recentProject (最近浏览过的项目)
- String 可以是null
- token (单独一张表) (设备码)
- 可以是null
create table t_user (
id int primary key auto_increment,
user_name varchar(20) not null,
user_email varchar(64) not null unique,
password long not null,
user_avatar long ,
user_signature varchar(32) default '这家伙很懒,什么也没留下!',
exp int default 0,
token varchar(32)
);
是本人
recentProject
才有值, 否则token
和recentProject
没有值
Following And Follower
follower_id | following_id |
---|---|
单元格 | 单元格 |
create table t_follow (
follower_id int not null,
following_id int not null,
UNIQUE KEY(follower_id, following_id)
);
RecentProject
user_id | project_id |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
create table t_recent_project(
user_id int not null,
project_id int null,
UNIQUE KEY(user_id, project_id)
);
Project
- id
- int
- name (项目名)
- String
- isPublic (是否公开)
- boolean
- rank (项目等级)
- int
- author (author作者)
- int
- createTime (创建时间)
- date(时间戳)
- ddl (结束时间)
- date
- contributors (贡献者)
- 新表
- headNodeId (头节点)
- node_id
- introduction (简介)
- String
create table t_project (
id int primary key auto_increment,
project_name varchar(64) not null,
public boolean not null,
password long,
project_rank int not null default 0,
author_id int not null,
introduction long,
head_id int not null,
create_time varchar(64),
deadline varchar(64)
);
project_id | contributor_id |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
create table t_contributor(
project_id int not null,
contributor_id int not null,
UNIQUE KEY(project_id, contributor_id)
);
Node
- author (作者)
user_id
int
- id (节点id)
- int
- theme (节点主题)
- String
- content (节点内容)
- long
- parent_id (子节点列表)
- int
- star (点赞数)
- 新表
- editable (该节点是否可被他人编辑)
- boolean
- lastEditId (最后编辑节点的人)
- date
- lastEditTime (最后编辑节点的时间)
- date
- nameless (是否匿名)
- boolean
- project_id
- 节点所属的项目id
children
以逗号分隔
create table t_node(
id int primary key auto_increment,
author_id int not null,
project_id int not null,
parent_id int,
theme varchar(64) not null,
content long not null,
banAppend boolean not null,
nameless boolean not null,
last_edit_id int not null,
last_edit_time varchar(32)
);
User And Star
user_id | node_id |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
create table t_star(
user_id int not null,
node_id int not null,
UNIQUE KEY(user_id, node_id)
);
Recent_Edit
user_id | node_id | edit_type | edit_time |
---|---|---|---|
单元格 | 单元格 | insert | 单元格 |
单元格 | 单元格 | update | 单元格 |
单元格 | 单元格 | delete | 单元格 |
create table t_edit(
user_id int not null,
node_id int not null,
edit_type varchar(16) not null,
edit_time varchar(32)
);