EDCWiki/СхемаБДWackoWiki
Описание таблиц My SQL для R4.0
Wacko Таблицы:
- wiki_acls
- wiki_cache
- wiki_links
- wiki_pages
- wiki_pagewatches
- wiki_referrers
- wiki_revisions
- wiki_upload
- wiki_users
? в комментарии обозначает, что пока не до конца ясно зачем нужны определенное поле или таблица
CREATE TABLE `wackowiki_acls` ( --ACL
`page_tag` varchar(250) binary NOT NULL default '', --тег страницы
`supertag` varchar(250) NOT NULL default '', --супертег страницы
`privilege` varchar(20) NOT NULL default '', --тип привилегии (read, write, comment)
`list` text NOT NULL, --список тех, кому разрешено производить действие над страницей (*, список ИменаПользователей без разделителей)
`last_change_date` datetime, --дата последнего изменения ACL (только в EDCWiki)
`last_repl_date` datetime, --дата последней репликации (только в EDCWiki)
PRIMARY KEY (`page_tag`,`privilege`),
KEY `supertag` (`supertag`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_cache` ( --кэш
`name` varchar(32) NOT NULL default '', --?
`method` varchar(20) NOT NULL default '', --?
`query` varchar(100) NOT NULL default '', --?
KEY `name` (`name`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_links` ( --ссылки на внутренние вики страницы
`from_tag` varchar(250) binary NOT NULL default '', --тег страницы, на которой находится ссылка
`to_tag` varchar(250) binary NOT NULL default '', --тег страницы, на которую ссылаются
`to_supertag` varchar(250) NOT NULL default '', --супертег страницы, на которую ссылаются
KEY `from_tag` (`from_tag`,`to_tag`),
KEY `idx_from` (`from_tag`),
KEY `idx_to` (`to_tag`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_pages` ( --последнии версии страниц, здесь также хранятся комментарии,
--отличие комментариев от обычных страниц в том,
--что у комментариев заполнены поля comment_on и super_comment_on
`id` int(10) unsigned NOT NULL auto_increment, --id
`tag` varchar(250) binary NOT NULL default '', --тег страницы
`supertag` varchar(250) NOT NULL default '', --супертег страницы
`time` datetime NOT NULL default '0000-00-00 00:00:00', --время создания данной версии страницы
`body` text NOT NULL, --текст, который отображается в поле редактирования страницы
`body_r` text NOT NULL, --текст стрраницы (нужно разобраться зачем нужны 2 поля для хранения содержимого страницы)
`body_toc` text NOT NULL, --?
`owner` varchar(50) NOT NULL default '', --имя владельца страницы
`user` varchar(50) NOT NULL default '', --имя пользователя, изменившего эту страницу
`latest` enum('Y','N') NOT NULL default 'N', --? видимо флаг того, последняя версия страницы или нет
--(пока не совсем ясно зачем нужен этот флаг, потому что в данной
--таблице он у всех страниц устанавливается в Y,
--а в таблице старых версий страниц (wackowiki_revisions) в N)
`handler` varchar(30) NOT NULL default 'page', --обработчик данной страницы (видимо какой обработчик должен вызываться по
--умолчанию, с этим разобраться поподробнее)
`comment_on` varchar(250) binary NOT NULL default '', --тег страницы ,на которую добавлен комментарий
`super_comment_on` varchar(250) NOT NULL default '', --супертег страницы ,на которую добавлен комментарий
`hits` int(11) NOT NULL default '0', --количество просмотров данной страницы
`lang` varchar(20) NOT NULL default '', --язык страницы
`description` varchar(250) NOT NULL default '', --?описание страницы
`keywords` varchar(250) binary NOT NULL default '', --?ключевые слова
`is_repl` enum('Y','N') NOT NULL default 'N', --реплецируется ли эта страница, или нет (только в EDCWiki)
`last_repl_date` datetime, --дата последней репликации (только в EDCWiki)
PRIMARY KEY (`id`),
UNIQUE KEY `idx_tag` (`tag`),
KEY `idx_supertag` (`supertag`),
KEY `idx_time` (`time`),
KEY `idx_latest` (`latest`),
KEY `idx_comment_on` (`comment_on`),
KEY `idx_super_comment_on` (`super_comment_on`),
FULLTEXT KEY `body` (`body`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_pagewatches` ( --наблюдения за страницами
`id` int(10) NOT NULL auto_increment, --id
`user` varchar(80) NOT NULL default '', --имя наблюдателя
`tag` varchar(250) binary NOT NULL default '', --тег страницы, за которой наблюдают
`time` timestamp(14) NOT NULL, --?время, когда было установлено наблюдение
PRIMARY KEY (`id`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_referrers` ( --список внешних ссылок на страницы данной вакки
`page_tag` char(250) binary NOT NULL default '', --тег страницы, на которую есть внешняя ссылка
`referrer` char(150) NOT NULL default '', --внешняя страница, с которой ссылаются
`time` datetime NOT NULL default '0000-00-00 00:00:00', --время, в которое была обнаружена внешняя ссылка
KEY `idx_page_tag` (`page_tag`),
KEY `idx_time` (`time`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_revisions` ( --старые версии страниц (поля аналогичны полям таблицы wackowiki_pages,
--отсутствуют поля body_toc и hits, поле body_r никогда не заполняется)
`id` int(10) unsigned NOT NULL auto_increment, --id
`tag` varchar(250) binary NOT NULL default '', --тег страницы
`supertag` varchar(250) binary NOT NULL default '', --супертег страницы
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`body` text NOT NULL,
`body_r` text NOT NULL,
`owner` varchar(50) NOT NULL default '',
`user` varchar(50) NOT NULL default '',
`latest` enum('Y','N') NOT NULL default 'N',
`handler` varchar(30) NOT NULL default 'page',
`comment_on` varchar(250) binary NOT NULL default '',
`super_comment_on` varchar(250) NOT NULL default '',
`lang` varchar(20) NOT NULL default '',
`description` varchar(250) NOT NULL default '',
`keywords` varchar(250) binary NOT NULL default '',
PRIMARY KEY (`id`),
KEY `idx_tag` (`tag`),
KEY `idx_supertag` (`supertag`),
KEY `idx_time` (`time`),
KEY `idx_latest` (`latest`),
KEY `idx_comment_on` (`comment_on`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_upload` ( --?информация о загрузках
`id` int(11) NOT NULL auto_increment, --id
`page_id` int(11) NOT NULL default '0', --id страницы
`filename` varchar(250) NOT NULL default '', --имя загруженного файла
`description` varchar(250) NOT NULL default '', --?описание
`uploaded_dt` datetime NOT NULL default '0000-00-00 00:00:00', --время загрузки файла
`filesize` int(11) NOT NULL default '0', --размер файла
`picture_w` int(11) NOT NULL default '0', --ширина картинки
`picture_h` int(11) NOT NULL default '0', --высота картинки
`file_ext` varchar(10) NOT NULL default '', --расширение файла
`user` varchar(80) NOT NULL default '0', --имя пользователя
PRIMARY KEY (`id`),
KEY `page_id` (`page_id`,`filename`),
KEY `page_id_2` (`page_id`,`uploaded_dt`),
KEY `user_id` (`user`,`page_id`)
) TYPE=MyISAM;
CREATE TABLE `wackowiki_users` ( --пользователи
`name` varchar(80) NOT NULL default '', --имя
`password` varchar(32) NOT NULL default '', --хеш пароля
`email` varchar(50) NOT NULL default '', --email
`motto` text NOT NULL, --девиз
`revisioncount` int(10) unsigned NOT NULL default '20', --?количество версий страниц, созданных пользователем
`changescount` int(10) unsigned NOT NULL default '50', --?количество изменений (пока не ясно чего)
`doubleclickedit` enum('Y','N') NOT NULL default 'Y', --разрешать ли редактирование при даблклике
`signuptime` datetime NOT NULL default '0000-00-00 00:00:00', --время регистрации
`show_comments` enum('Y','N') NOT NULL default 'N', --показывать ли комментарии
`bookmarks` text NOT NULL, --закладки (список ссылок, как правило, вверху страницы)
`lang` varchar(20) NOT NULL default '', --язык пользователя
`show_spaces` enum('Y','N') NOT NULL default 'Y', --?возможно, показывать ли пробелы в вики именах
`showdatetime` enum('Y','N') NOT NULL default 'Y', --?
`typografica` enum('Y','N') NOT NULL default 'Y', --?
`more` text NOT NULL, --?
`changepassword` varchar(100) NOT NULL default '', --?
`email_confirm` varchar(40) NOT NULL default '', --?
`last_change_date` datetime, --дата последнего изменения информации о пользователе (только в EDCWiki)
`is_repl` enum('Y','N') NOT NULL default 'N', --реплецируется ли этот пользователь, или нет (только в EDCWiki)
`last_repl_date` datetime, --дата последней репликации (только в EDCWiki)
PRIMARY KEY (`name`),
KEY `idx_name` (`name`),
KEY `idx_signuptime` (`signuptime`)
) TYPE=MyISAM;