О проекте

Данный сайт попытка повысить коммуникацию самых активных разработчиков на CMS Drupal - блоггеров. Если Вы ведете свой блог о Друпале, значит Вы готовы делиться вашими знаниями, помочь другим. Не всегда ваши знания доходят до потребителя. Задача данного сайта агрегировать знания различных блогов в единую ленту и привести на Ваши блоги активных пользователей.

Активность пользователей на Вашем сайте будет дополнительным стимулом к дальнейшей работе.

Удачи во всех Ваших начинаниях!

Как восстановить удаленные термины таксономии?

-9 votes
+
-

Сегодня приключилась странная история: открываю сайт, захожу на последний топик форума... и понимаю, что что-то не то :) Я использую Advanced Forum, так что на топиках форума у меня другое оформление. А тут - и оформление не то, и вообще - к ноде не привязаны термины... Полезла в базу, гляжу - исчез целый контейнер форумов, т.е. штук 6 терминов таксономии. Пришлось все восстанавливать...
Хорошо, что была база сайта для девелопмента, эдак полуторамесячной давности :) По ней и восстановила все термины и связи с нодой. На дев сайте тестировала весь день, пока нашла нужные таблицы, пока то и се. На рабочем восстановила за полчаса.

  1. таблица term_data - содержит все данные терминов, в т.ч. вес, название и описание. Самый простой способ восстановления: в phpmyadmin запустить команду поиск по полю tid, выбрать нужные поля (отсутствующие термины) и выбрать команду Импортировать. Импортировать не в файл, а так: на экране появится код, нужно его скопировать и вставить в окошко SQL запрос для нужной базы данных (я работала в двух браузерах одновременно).  
  2. тот же способ импорта использовала для таблицы term_hierarchy: здесь все связи между терминами. Выбор по родителю - это термин-контейнер форума + руками вставила данные на сам контейнер (в рабочей базе выбираем команду Вставить и заполняем все поля также, как в дев-базе на нужный термин).
  3. Наконец, нужно было испортировать данные из таблицы term_node: пришлось запускать команду поиск 6 раз, по количеству исчезнувших терминов.

Последний штрих - восстановление контейнера форума. Иначе, термин-контейнер становится простып форумом, что ломает немного структуру сайта. Данные о том, какие термины являются контейнерами, а какие - нет, хранятся в таблице variable, в поле forum_containers. Скопируйте данные из одной базы данных в другую. 
Конечно, то же самое можно было бы сделать проще: написать скрипт или использовать команды sql в командной строке и т.п. Но! Я не умею писать скрипты и не знаю команд sql. Так что я очень собой горда, что удалось все восстановить полу-ручным способом :)
Главные темы: DrupalТеги: sql

Полный оригинальный материал:

Geldora