Переводим node из drupal 4.2 в drupal 5.1

Главные вкладки

Аватар пользователя A.L.F. A.L.F. 27 марта 2007 в 11:52

Вот собственно и сабж. ))) а подробности такие...
для перехода в новую версию друпала, нужно перенести все ноды в новую базу, но как оказалось в пятерке уже ноды разбились на 2 таблицы. Если раньше контент хранился исключительно в node, то в новой пятерке уже node и node_revisions! В итоге приходится эти ноды редактировать в соответсвии с node и node_revisions.

Старый вариант полей node:
nid vid uid title teaser body log timestamp format

А теперь новые:
node : nid vid type title uid status created changed comment promote moderate sticky
и
node_revisions : nid vid uid title body teaser log timestamp format

Перевести таблицу node в соответсвии с полями версии пятого друпала получилось, а вот в таблице node_revisions заминка. Добавил необходимые поля, удалил лишнее... Осталось только перекинуть местами поля teaser и body на body и teaser.

Следуя по хелпам мускула сварганил вот такой запрос:
INSERT INTO node_revisions SELECT `nid`, `vid`, `uid`, `title`, `body`, `teaser`, `log`, `timestamp`, `format` FROM node_revisions1;
Т.е. создаем таблицу с нужными полями и в нужно последовательности и перекидываем их используя данный запрос. Вот только фигня получается, переносит одну запись и выводит сообщение: #1062 - Duplicate entry '0' for key 1
Но какой дубликат, если переносится только 1 запись, и в поле из которого мы перенесли, это сообщение вроде как исчезло, и появилось там где нужно.

Корочь, хелп...и все такое... или подскажите где искать про конвертацию БД в друпале!!

Комментарии

Аватар пользователя Dan Dan 27 марта 2007 в 15:18

Насчёт 4.5 и 4.6 не знаю, но в 4.7 уже были ревизии. Может стоит обновиться до 4.7, а там или обновляться до 5.1 или ручками

Аватар пользователя A.L.F. A.L.F. 27 марта 2007 в 15:27

Упс, ошибся, 4.2 версия... там еще более запущено)) чем 4.5...
попытался кстати ща методом от версии к версии... проходит только процентов на 30...
хотя собственно мне нужно только ноды сохранить...)) а все отстально ерунда...!!!