DEV: Некоторые работы, сайт может быть недоступен некоторое время
Что меняется? Tagify внес некоторые изменения. Обновим до v4.14.1. Далее обновим редактор. И потихоньку начнем модернизировать базу данных. Не так кардинально, как хотел, но некоторые изменения всё же будут.
Пока ничего не меняем!
Это нужно тут для тестирования на этом сайте и как балванка далее.
Изменение в базе…
Удалим в таблице items
поля:
- item_type_url
- item_status_url
- item_status_date
ALTER TABLE `items`
DROP `item_type_url`,
DROP `item_status_url`,
DROP `item_status_date`;
Проверку URL, хранение результатов надо делать в отдельной таблице.
Далее, для единообразия изменим поля в 2 таблицах:
ALTER TABLE `facets` CHANGE `facet_add_date` `facet_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE `invitations` CHANGE `add_time` `invitation_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Будет хотя бы единообразно с таблицами постов, ответов и комментариев, что позволит едино смотреть частоту добавления.
Добавим метки: форум, портал, блог, справка (энциклопедия) — для каталога:
ALTER TABLE `items` ADD `item_is_forum` TINYINT(1) NULL DEFAULT NULL COMMENT 'The site has a forum' AFTER `item_date`, ADD `item_is_portal` TINYINT(1) NULL DEFAULT NULL COMMENT 'This is a portal' AFTER `item_is_forum`, ADD `item_is_blog` TINYINT(1) NULL DEFAULT NULL COMMENT 'This is a blog' AFTER `item_is_portal`, ADD `item_is_reference` TINYINT(1) NULL DEFAULT NULL COMMENT 'Is this a reference site' AFTER `item_is_blog`;
Ранее было в одном поле (выбор). Нам необходимо именно такое использование.
Для перестройки всего каталога:
/web/dir/all/hi-tech // дефолтный вариант
/web/dir/potral/hi-tech // порталы
/web/dir/blog/hi-tech // блоги и т.д. Включая:
/web/dir/moscow/blog/hi-tech // C GEO локацией
/web/dir/ГЕО/ТИП_САЙТА/hi-tech // Общий случай
Выполним ещё один запрос.
ALTER TABLE `items` CHANGE `item_is_soft` `item_is_soft` TINYINT(1) NULL DEFAULT NULL COMMENT 'There is a program (script)', CHANGE `item_is_github` `item_is_github` TINYINT(1) NULL DEFAULT NULL COMMENT 'The site is on GitHub';
И ещё три запроса:
1.
ALTER TABLE `items` CHANGE `item_focus_count` `item_focus_count` INT(11) NULL DEFAULT NULL, CHANGE `item_close_replies` `item_close_replies` TINYINT(1) NULL DEFAULT NULL;
2.
UPDATE `items` SET `item_is_soft` = NULL WHERE `item_is_soft` = 0;
UPDATE `items` SET `item_is_github` = NULL WHERE `item_is_github` = 0;
3.
ALTER TABLE `items` CHANGE `item_votes` `item_votes` INT(11) NOT NULL DEFAULT '0', CHANGE `item_count` `item_count` INT(11) NOT NULL DEFAULT '1', CHANGE `item_is_deleted` `item_is_deleted` TINYINT(1) NOT NULL DEFAULT '0';
Добавим просмотры:
CREATE TABLE `posts_view` (
`view_id` int(11) NOT NULL,
`view_post_id` int(11) DEFAULT NULL,
`view_user_id` int(11) DEFAULT NULL,
`view_date` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `posts_view`
ADD PRIMARY KEY (`view_id`),
ADD KEY `view_user_id` (`view_user_id`),
ADD KEY `view_post_id` (`view_post_id`);
ALTER TABLE `posts_view`
MODIFY `view_id` int(11) NOT NULL AUTO_INCREMENT;
Добавим поле для условий присоединения к фасету (теме, категории, блогу) и условия просмотра:
ALTER TABLE `facets` ADD `facet_entry_policy` TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Политика вступления' AFTER `facet_seo_title`;
ALTER TABLE `facets` ADD `facet_view_policy` TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Политика просмотра (1 - после подписки)' AFTER `facet_entry_policy`;
Подправим некоторые типы полей (по умолчанию):
ALTER TABLE `facets` CHANGE `facet_merged_id` `facet_merged_id` INT(11) NOT NULL DEFAULT '0' COMMENT 'С кем слита', CHANGE `facet_tl` `facet_tl` TINYINT(1) NOT NULL DEFAULT '0', CHANGE `facet_focus_count` `facet_focus_count` INT(11) NOT NULL DEFAULT '0', CHANGE `facet_count` `facet_count` INT(11) NOT NULL DEFAULT '0';
Продолжение следует…
А что с Tagify, что там за изменения?
Вот, как от библиотек зависеть. Обновил, проблемы, пришлось переписать слегка. 2 релиза пропустил, и вот результат. Вроде обновил тут. Обкатаем сперва на этом сайте.