Есть два сайта, локалхост и обычный хостинг, D7.
Требуется перенести с локалхоста на хостинг все словари с сохранением идентичных номеров терминов и словарей (соотв. VID и TID). В принципе, это делается. как понимаю, банальным экспортом\импортом с помощью соотв. модулей(ведь tid\vid при этом переносятся и сохраняются? Taxonomy CSV например, словари простые и небольшие)
Проблема в том, что на хостинге уже есть словари\термины и соотв. номера заняты(или "как бы свободны", т.к. термины добавлялись и удалялись ранее). Они будут удалены.
Вопрос: каким образом корректно полностью удалить все словари и термины с хостинга, включая tid\vid ранее удаленных терминов и словарей? Понимаю, что скорее всего запросом к базе и чисткой соотв. полей. Подойдет ли для этого запрос, как здесь, удалит ли он ВСЕ ненужное?(соотв. вновь созданный первый термин\словарь должен будет иметь tid\vid = 1)
UPD Мда, по ссылке запрос для 6й версии, проглядел, варианты для 7ки есть подходящие под решение задачи?
Спасибо.
Комментарии
удаление терминов
foreach ($results as $term) {
taxonomy_term_delete($term->tid);
}
Это SQL-запрос? Напрямую в бд ошибку выдает,
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$results = db_query("SELECT t.tid FROM {taxonomy_term_data}")' at line 1
Или куда его вставлять, в .php?
УПД: здесь написан некорректно ответ(ошибся раз в запросе), но и на корректный запрос выдает ошибку эту.
не совсем
я бы сказал , что это сниппет
Самый прстой вариант, ручками почистить таблицы и сбросить счетчики через phpmyadmin. Вышеприведенный сниппет не сбросит счетчики
Допустим сниппетом очищу таблицы, а счетчики полезу через пхпадмин. Вопрос: где именно они расположены, значение обнулить(null или 0 ставить, кстати)?
да.
feeds - если id взят за уникальный, и ты обновляешь записи.
сначала словари, потом термины.
приведите пример запроса(запросов) ,который удалит правильно все термины
а почистить потом индексы - это я думаю как раз таки не проблема
Где именно в таблице(чтоб через phpadmin сбросить) расположены счетчики?
ALTER TABLE `имя_таблицы` AUTO_INCREMENT = x;
,где x -к примеру 1