avalon / разработка / хранилище на базе MySQL
Все данные в БД хранятся в UTF-8, InnoDB.
описание таблиц
[broken] - список поломанных топиков/сообщений
[id_message] INT - id топика/сообщения [is_topic] TINYINT - флаг того, что это топик, а не сообщение
[forum] - список форумов
[id] INT - PK, id [id_group] INT - id группы форумов [short_name] VARCHAR(64) - короткое имя форума [name] VARCHAR(128) - полное имя форума [rated] INT - оценивается ли форум [in_top] INT - участвует ли оценки этого форума в топе [rate_limit] INT - лимит оценки в форуме
[group] - список групп форумов
[id] INT - PK, id [name] VARCHAR(100) - наименование группы [sort_order] INT - порядок сортировки
[message] - список сообщений
[id] INT - PK, id сообщения [id_topic] INT - id темы [id_parent] INT - id родительского сообщения [id_user] INT - id автора [id_forum] INT - id форума [subject] VARCHAR(128) - тема сообщения [message_name] VARCHAR(160) - имя сообщения [user_nick] VARCHAR(100) - имя автора сообщения [message] LONGBLOB - текст сообщения [id_article] INT - id статьи, если сообщение является статьей или 0 [message_date] DATETIME - дата создания сообщения [update_date] DATETIME - дата обновления сообщения или 0 [user_role] VARCHAR(50) - статус автора сообщения [user_title] VARCHAR(100) - повязка пользователя [user_title_color] INT - цвет повязки пользователя [last_moderated] DATETIME - дата последнего переноса сообщения [closed] TINYINT(1) - флаг закрытия темы [has_child] TINYINT(1) - флаг наличия дочерних сообщений [compressed] TINYINT(1) - флаг сжатия тела сообщения
[message2send] - сообщения к отправке
[id] INT - PK, id сообщения (локальный) [id_parent] INT - id родителя [id_forum] INT - id форума [subject] VARCHAR(128) - тема [message] LONGTEXT - текст сообщения [date] DATETIME - дата добавления [draft] TINYINT(1) - флаг черновика
[message_topic] - список топиков
[id_message] INT - PK, id сообщения (FK [message].[id]) [id_forum] INT - id форума [message_date] DATETIME - дата создания сообщения
[moderate] - список модерилок
[id_message] INT - id сообщения [id_topic] INT - id топика [id_user] INT - id пользователя [id_forum] INT - id форума [created] DATETIME - дата UNIQUE([id_message], [id_user])
[moderate2send] - модерилки к отправке
[id] INT - PK, id (локальный)
[id_message] INT - id сообщения
[action] VARCHAR(32) - действие {MoveMessage, DeleteMessage, DeleteThread, DeleteErrorMessage, SplitThread, CloseTopic, OpenTopic}
[id_forum] INT - id форума для перемещения
[description] LONGTEXT - описание
[as_moderator] TINYINT - флаг "как модератор"
[date] DATETIME - дата добавления
[rating] - список рейтингов
[id_message] INT - id сообщения [id_topic] INT - id топика [id_user] INT - id пользователя [user_rating] INT - рейтинг пользователя [rate] INT - оценка [rate_date] DATETIME - дата UNIQUE([id_message], [id_user])
[rating2send] - рейтинг к отправке
[id] INT - PK, id (локальный) [id_message] INT - id сообщения [rate] INT - рейтинг [date] DATETIME - дата добавления
[row_version] - версии строк
[key] VARCHAR(100) - PK, ключ [value] VARCHAR(100) - значение
[subscribed] - список подписаных форумов
[id_forum] INT - PK, id форума [is_first] TINYINT - true, если первая синхронизация
[unread] - список непрочитаных сообщений
[id_message] INT - PK, id сообщения [id_parent] INT - id родительского сообщения [id_forum] INT - id форума [id_topic] INT - id топика [id_parent_user] INT - id пользователя, которому идет ответ [message_date] DATETIME - дата
[user] - список пользователей
[id] INT - PK, id пользователя [name] VARCHAR(60) - логин пользователя [nick] VARCHAR(100) - псевдоним пользователя [real_name] VARCHAR(80) - реальное имя пользователя [email] VARCHAR(60) - публичный email пользователя [homepage] VARCHAR(120) - домашняя страница [specialization] VARCHAR(100) - специализация [where_from] VARCHAR(100) - откуда [origin] VARCHAR(258) - подпись (исправлена с 255 на 258 из за проблем с MySQL под Windows)
[version] - версии хранилища
[key] VARCHAR(100) - PK, ключ [value] VARCHAR(100) - значение
Поле [key] принимает значения "version" для указания общей версии или имя файла с SQL скриптом патча, который был наложен. Поле [value] для общей версии содержит произвольную строку версии, а для патчей дату их установки.
