Изменение идентификатора узла из mysql .. это возможно? - PullRequest
0 голосов
/ 31 июля 2010

Могу ли я изменить идентификаторы узлов (nid) в таблицах mysql для обновления идентификаторов узлов в Drupal?

Другими словами, если я изменю nid (обращая внимание на то, чтобы они оставались уникальными для каждогоnode) в таблице 'node', непосредственно из phpmyadmin, я собираюсь ввести ошибки?

спасибо

Ответы [ 3 ]

1 голос
/ 31 июля 2010

Идентификатор узла используется во многих местах, поэтому вы должны быть очень осторожны, делая что-то подобное. Это может привести к поломке, например, к потере содержимого узла, хранящегося в другом месте.

Если узлы импортируются недавно, это делает их менее сложными, но трудно быть уверенным, что вы все правильно поняли. Проблема в том, что вы можете найти проблему, только когда уже слишком поздно.

Я считаю, что миграция создает некую таблицу соединений при импорте узлов, может ли она использоваться для сопоставления идентификаторов узлов со старыми идентификаторами?

0 голосов
/ 31 июля 2010

Учитывая, что идентификатор узла может быть сохранен в таблице базы данных, созданной сторонним модулем, я думаю, что совершенно невозможно быть уверенным, что проблемы не возникнут.Если вы выполняете SQL-запросы вручную, вам необходимо убедиться, что вы проверили все таблицы, включая таблицы кеша, которые могут содержать ссылку на узел в сериализованном объекте PHP или массиве.

0 голосов
/ 31 июля 2010

Я думаю, что это может работать.

Вам необходимо помнить, что на nid ссылаются не только другие таблицы, но также они могут быть определены в некоторых сериализованных данных. Если вы просматриваете всю базу данных и изменяете КАЖДЫЙ возможный случай появления nid, это должно быть выполнимо.

...