Схема базы данных Wordpress

После установки bbPress был создан форум, после чего сделано сравнение базы данных до и после создания топика в форуме.

Кратка схема, необходимая для понимания работы Wordpress:

Схема базы данных Wordpress

Таблица posts - записи

Основной текст записи (название, содержание, дата, автор, количество комментариев, дата модификации, пинг, родитель)

  • 277 - ID новой записи
  • post_type = topic - для топика форума

Таблица postmeta - метаинформация

Пишется метаинформация: дата последней активности, количество топиков в форуме, ID последнего топика, ID топика с последним ответом, ID топика с последней активностью.

  • Связь 1:M, ключ post_id
postmeta.sql
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (441,272,'_bbp_last_active_time','2016-01-17 10:11:12');
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (445,272,'_bbp_topic_count','2');
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (446,272,'_bbp_total_topic_count','2');
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (460,272,'_bbp_last_topic_id','277');
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (461,272,'_bbp_last_reply_id','277');
INSERT INTO `postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES (462,272,'_bbp_last_active_id','277');

Таблица term_relationships - связка "записи-метки"

Связывает записи и метки.

  • Связь 1:M, ключи object_id, term_taxonomy_id
postmeta.sql
INSERT INTO `term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES (277,67,0);
INSERT INTO `term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES (277,68,0);

Таблица terms - метки

Метки в bbPress называю тегами.

  • Связь 1:1, ключ term_id
postmeta.sql
INSERT INTO `terms` (`term_id`, `name`, `slug`, `term_group`) VALUES (67,'метка1','metka1',0);
INSERT INTO `terms` (`term_id`, `name`, `slug`, `term_group`) VALUES (68,'метка2','metka2',0);

Таблица term_taxonomy - объявление меток (описание, тип)

Детальное описание метки.

  • Связь 1:1, ключ term_taxonomy_id
  • taxonomy = topic-tag - тип метки - тег форума
postmeta.sql
INSERT INTO `term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (67,67,'topic-tag','',0,1);
INSERT INTO `term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (68,68,'topic-tag','',0,1);

Таблица usermeta - метаинформация для пользователя

Хранятся настройки для конкретного пользователя. Например, подписка на обновления.

  • Ключ meta_value
postmeta.sql
INSERT INTO `usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (28,1,'_bbp_subscriptions','277');