wildfire chat server source initial submit

This commit is contained in:
heavyrain2012
2019-03-16 17:04:23 +08:00
parent e59217bd10
commit cab3ca0916
1466 changed files with 528862 additions and 15919 deletions
+1
View File
@@ -0,0 +1 @@
CREATE DATABASE IF NOT EXISTS wfchat CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+274
View File
@@ -0,0 +1,274 @@
DROP TABLE IF EXISTS `t_messages`;
CREATE TABLE `t_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_data` BLOB NOT NULL,
`_searchable_key` TEXT DEFAULT NULL,
`_dt` DATETIME NOT NULL,
UNIQUE INDEX `message_uid_index` (`_mid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_messages`;
CREATE TABLE `t_user_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `message_seq_uid_index` (`_uid` DESC, `_seq` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_group`;
CREATE TABLE `t_group` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_type` tinyint NOT NULL DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
`_member_count` int(11) DEFAULT 0,
`_member_dt` bigint(20) NOT NULL,
UNIQUE INDEX `group_gid_index` (`_gid` DESC),
INDEX `group_name_index` (`_name` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_group_member`;
CREATE TABLE `t_group_member` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_alias` varchar(64) DEFAULT '',
`_type` tinyint DEFAULT 0 COMMENT "0普通成员;1,管理员;2,群主,与Owner相同",
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_gid_mid_index` (`_gid`, `_mid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_display_name` varchar(64) DEFAULT '',
`_gender` int(11) NOT NULL DEFAULT 0,
`_portrait` varchar(1024) DEFAULT '',
`_mobile` varchar(64) DEFAULT '',
`_email` varchar(64) DEFAULT '',
`_address` varchar(64) DEFAULT '',
`_company` varchar(64) DEFAULT '',
`_social` varchar(64) DEFAULT '',
`_passwd_md5` varchar(64) DEFAULT '',
`_salt` varchar(64) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_type` tinyint DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_uid_index` (`_uid` ASC),
UNIQUE INDEX `user_name_index` (`_name` ASC),
INDEX `user_display_name_index` (`_display_name` ASC),
INDEX `user_mobile_index` (`_mobile` ASC),
INDEX `user_email_index` (`_email` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_status`;
CREATE TABLE `t_user_status` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_status` int(11) NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_status_uid_index` (`_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_friend_request`;
CREATE TABLE `t_friend_request` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_reason` TEXT DEFAULT NULL,
`_status` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
`_from_read_status` tinyint DEFAULT 0,
`_to_read_status` tinyint DEFAULT 0,
UNIQUE INDEX `fr_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_friend`;
CREATE TABLE `t_friend` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_state` tinyint DEFAULT 0 COMMENT "0, normal; 1, deleted; 2, blacked",
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `f_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_setting`;
CREATE TABLE `t_user_setting` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_scope` int NOT NULL,
`_key` varchar(64) NOT NULL,
`_value` varchar(4096) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_setting_index` (`_uid` ASC, `_scope` ASC, `_key` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_id_generator`;
CREATE TABLE `t_id_generator` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci
AUTO_INCREMENT = 3;
DROP TABLE IF EXISTS `t_channel`;
CREATE TABLE `t_channel` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_status` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_automatic` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_index` (`_cid` DESC),
INDEX `channel_name_index` (`_name` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_channel_listener`;
CREATE TABLE `t_channel_listener` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_mid_index` (`_cid`, `_mid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_session`;
CREATE TABLE `t_user_session` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_cid` varchar(64) NOT NULL,
`_token` varchar(64) DEFAULT '',
`_voip_token` varchar(64) DEFAULT '',
`_secret` varchar(64) NOT NULL,
`_db_secret` varchar(64) NOT NULL,
`_platform` tinyint DEFAULT 0,
`_push_type` tinyint DEFAULT 0,
`_package_name` varchar(64) DEFAULT '',
`_device_name` varchar(64) DEFAULT '',
`_device_version` varchar(64) DEFAULT '',
`_phone_name` varchar(64) DEFAULT '',
`_language` varchar(64) DEFAULT '',
`_carrier_name` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `session_uid_cid_index` (`_cid`, `_uid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_robot`;
CREATE TABLE `t_robot` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `robot_uid_index` (`_uid` ASC),
INDEX `robot_owner_index` (`_owner` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_thing`;
CREATE TABLE `t_thing` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_token` varchar(64) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `thing_uid_index` (`_uid` ASC),
INDEX `thing_owner_index` (`_owner` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_chatroom`;
CREATE TABLE `t_chatroom` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_title` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_state` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `chatroom_cid_index` (`_cid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_sensitiveword`;
CREATE TABLE `t_sensitiveword` (
`_word` TEXT DEFAULT NULL
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
+5
View File
@@ -0,0 +1,5 @@
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom1','火信聊天室1','火信测试聊天室1,用来演示聊天室功能', 1);
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom2','火信聊天室2','火信测试聊天室2,用来演示聊天室功能', 1);
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom3','火信聊天室3','火信测试聊天室3,用来演示聊天室功能', 1);
+83
View File
@@ -0,0 +1,83 @@
#!/bin/bash
show_help_info(){
echo "### Usage: ./initial_db.sh -u{user} -p{password}"
echo "### 初始化数据库。"
echo "###"
}
for i in "$@"
do
PFLAG=`echo $i|cut -b1-2`
PPARAM=`echo $i|cut -b3-`
if [ $PFLAG = "-u" ]; then
USER=${PPARAM}
elif [ $PFLAG = "-p" ]; then
PASSWORD=${PPARAM}
elif [ $PFLAG = "-h" ]; then
show_help_info
exit 1
fi
done
echo
if [ "${USER}" = "" ]; then
show_help_info
exit 1
elif [ "${PASSWORD}" = "" ]; then
show_help_info
exit 1
fi
mysql -u${USER} -p${PASSWORD} -e"source 1_create_database.sql;"
mysql -u${USER} -p${PASSWORD} -e"use wfchat; source 2_create_table.sql; source 3_create_default_chatroom.sql;"
for((i=0;i<36;i++));
do
create_message_tbl_sql="USE wfchat;
DROP TABLE IF EXISTS \`t_messages_${i}\`;
CREATE TABLE \`t_messages_${i}\` (
\`id\` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
\`_mid\` bigint(20) NOT NULL,
\`_from\` varchar(64) NOT NULL,
\`_type\` tinyint NOT NULL DEFAULT 0,
\`_target\` varchar(64) NOT NULL,
\`_line\` int(11) NOT NULL DEFAULT 0,
\`_data\` BLOB NOT NULL,
\`_searchable_key\` TEXT DEFAULT NULL,
\`_dt\` DATETIME NOT NULL,
INDEX \`message_uid_index\` (\`_mid\` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
"
echo "create table t_messages_$i"
mysql -u${USER} -p${PASSWORD} -e"${create_message_tbl_sql}"
done
for((i=0;i<128;i++));
do
create_user_message_tbl_sql="USE wfchat;
DROP TABLE IF EXISTS \`t_user_messages_${i}\`;
CREATE TABLE \`t_user_messages_${i}\` (
\`id\` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
\`_mid\` bigint(20) NOT NULL,
\`_uid\` varchar(64) NOT NULL,
\`_seq\` bigint(20) NOT NULL,
\`_dt\` DATETIME NOT NULL DEFAULT NOW(),
INDEX \`message_seq_uid_index\` (\`_uid\` DESC, \`_seq\` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
"
echo "create table t_user_messages_$i"
mysql -u${USER} -p${PASSWORD} -e"${create_user_message_tbl_sql}"
done