Teamgram Database Schema

👤 zhihang9978 📦 v1.0.0 ⭐ 3.9 ⬇️ 951 下载
💻 开发编程 免费

📖 技能介绍


name: teamgram-database-schema description: Complete database schema reference for Teamgram Server with all 43 tables, ER relationships, and key table structure explanations for the MySQL teamgram database. compatibility: Documentation/knowledge skill only. No executable code. Reference material for Teamgram Server developers. metadata: author: zhihang9978 version: "1.0.0" source: https://github.com/teamgram/teamgram-server homepage: https://github.com/teamgram/teamgram-server openclaw: requires: env: [] bins: [] securityNotes: | Documentation-only skill. Contains no executable code, no network calls, no credential handling. Table names and schema are from the public teamgram-server SQL files. All content references the open-source teamgram-server project (Apache-2.0).


数据库 Schema(43 张表)与核心关系

概述

数据库位于 teamgramd/deploy/sql/,基础 schema 在 1_teamgram.sql(38 表),迁移补齐到 43 表。

所有服务共用同一个 MySQL 数据库 teamgram,字符集 utf8mb4

43 张表完整列表

表名 核心用途
auth_key_infos auth_key 元信息
auth_keys auth_key 存储(加密密钥)
auth_seq_updates 每个 auth_key 的 updates 序列号
auth_users auth_key ↔ user 绑定关系
auths 授权记录
bot_commands Bot 命令列表
bots Bot 信息
chat_invite_participants 通过邀请链接加入的成员
chat_invites 聊天邀请链接
chat_participants 群成员关系
chats 群组信息
default_history_ttl 默认历史消息 TTL
devices 推送设备/token
dialog_filters 对话文件夹
dialogs 对话列表(每用户每对等方一行)
documents 文件/文档元数据
drafts 消息草稿
encrypted_files 加密文件
hash_tags 消息 hashtag 索引
imported_contacts 导入的联系人
message_read_outbox 消息已读状态(outbox 侧)
messages 消息存储(核心表)
phone_books 通讯录
photo_sizes 照片尺寸变体
photos 照片元数据
popular_contacts 热门联系人
predefined_users 预定义用户
saved_dialogs 保存的消息对话
unregistered_contacts 未注册联系人
user_contacts 用户联系人关系
user_global_privacy_settings 全局隐私设置
user_notify_settings 通知设置
user_peer_blocks 屏蔽关系
user_peer_settings 对等方设置
user_presences 用户最后上线时间
user_privacies 隐私规则
user_profile_photos 用户头像
user_pts_updates 每用户 pts 更新序列
user_saved_music 保存的音乐
user_settings 用户设置
username 用户名
users 用户信息(核心表)
video_sizes 视频尺寸变体

核心 ER 关系

users (user_id)
  |\
  | \-- auth_users (auth_key_id -> user_id)      # 登录设备/授权关系
  | \-- devices (auth_key_id, user_id)           # push token / device
  | \-- user_presences (user_id)                 # last seen
  | \-- user_profile_photos (user_id -> photo_id)
  | \-- user_settings / user_privacies / user_notify_settings
  |
  \-- dialogs (user_id, peer_type, peer_id)      # 会话列表
        |
        \-- messages (user_id, peer_type, peer_id, dialog_id1/2, dialog_message_id)
              |
              \-- documents/photos/encrypted_files (+ photo_sizes/video_sizes)

chats (chat_id)
  \-- chat_participants (chat_id, user_id)
  \-- chat_invites / chat_invite_participants

关键表结构说明

users 表

  • 核心用户信息表
  • user_id 为主键(Snowflake ID)
  • 包含 phone、first_name、last_name、username 等字段
  • deleted 字段标记软删除

messages 表

  • 消息存储核心表
  • 按 user_id + peer 维度存储(inbox/outbox 双写)
  • dialog_id1/dialog_id2 用于双向对话定位
  • dialog_message_id 为对话内消息序号(递增)
  • message_type 区分文本/媒体/服务消息等

dialogs 表

  • 每个用户与每个对等方(私聊/群聊)一行
  • peer_type: 1=user, 2=chat, 3=channel
  • 包含 unread_count、read_inbox_max_id、read_outbox_max_id
  • pinned 字段控制置顶排序

auth_keys / auth_users 表

  • auth_keys 存储 MTProto 授权密钥(256字节 auth_key)
  • auth_users 维护 auth_key_id → user_id 的绑定
  • 一个用户可以有多个 auth_key(多设备登录)
  • auth_key_id 是 auth_key 的 SHA1 后 8 字节

chat_participants 表

  • chat_id + user_id 复合主键
  • participant_type 区分普通成员/管理员/创建者
  • inviter_user_id 记录邀请人
  • joined_at 记录加入时间

SQL 文件路径

  • 基础 schema:teamgramd/deploy/sql/1_teamgram.sql
  • 迁移脚本:teamgramd/deploy/sql/ 下的后续编号文件

    访问小葱技能站7w4.net,解锁更多实用的AI技能插件。

Source Code References

  • Repository: https://github.com/teamgram/teamgram-server (Apache-2.0)

🤖 AI 评测

这个数据库参考文档质量还不错,包含了完整的表清单和关系图,能帮助理解系统数据结构。不过它主要提供了表格说明和关系描述,缺少实际的SQL语句示例,对于想直接使用的用户来说可能不够方便。总体适合查阅但不适合直接动手操作。

📊 多维度评分

适应性4.2
规范性3.6
有效性4
可靠性3.3
可信度4.7

📁 包含文件 (2 个)

📄 SKILL.md 4.9 KB
📄 _meta.json 143 B