Ищу сниппет для сдвига нумерации нод

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

Аватар пользователя Valeratal Valeratal 9 сентября 2008 в 15:52

Смысл такой
допустим была нод с номер 7000 ну и адрес соответственно сайт/node/7000
я хочу сделаать, чтобы номера всех нод стали допустим на 1 больше, то есть, та же нода получила номер 7001 и адрес соответственно сайт/node/7001

Можно ли так сделать и как?

Комментарии

Аватар пользователя axel axel 9 сентября 2008 в 23:40

Точнее...

UPDATE {node} SET nid = nid + 1
UPDATE {node_revisions} SET nid = nid + 1

Настоятельно рекомендуется сделать перед этой процедурой бэкап базы, т.к. есть риск получить неконсистентную базу в результате.

Аватар пользователя PVasili PVasili 9 сентября 2008 в 23:48

Косяков будет море - начиная от патчауто и кончая прямыми ссылками в материалах нод.
А зачем такой изврат мог понадобиться?

Аватар пользователя Nikit Nikit 10 сентября 2008 в 4:19

Valeratal геморра точно много будет.
Вот код, достающий таблицы с nid (конечно это не гарант, так как любой модуль у себя может обозвать nid по своему, можно попробовать id):

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='твоябаза' AND COLUMN_NAME like '%nid%'

У меня вытащил:
files
history
node
node_access
node_comment_statistics
node_counter
node_revisions
term_node
ну плюс еще "левые" модули.
Их надо проверить еще, то или нет (могут и nid-ом вобщем-то другое поле обозвать), потом по одному с апдейтить.