Я набрал интервал, набирая имя поля, и теперь имя машины не соответствует желаемому. Я знаю, это просто раздражение. но мне интересно, есть ли способ изменить имя машины для поля после его создания.
Я полагаю, это подводит меня ко второй части моего вопроса. если я создал поле, и оно больше не используется, как мне его удалить, нужно ли это делать из базы данных, или это можно сделать где-то в пользовательском интерфейсе.
Моя процедура состоит в том, чтобы сначала использовать drush для клонирования поля, а затем скопировать данные поля с запросами БД в новую таблицу полей. После проверки содержимого клонированного поля я удаляю исходное поле.
Я делаю это таким образом, потому что я думаю, что метод drush для клонирования полей всегда будет по крайней мере таким же надежным, как и любой клонируемый код, который я мог бы создать сам, запрос на копирование данных довольно прост, и я проверяю новое поле перед удалением исходного ,
drush field-clone field_my_field field_my_field_clone
field_my_field_clone
, например, вINSERT field_my_field_clone SELECT * FROM field_my_field;
field_my_field_clone
.admin/structure/types/manage/my-content-type/fields
источник
drush field-delete xxx
и вам также может понравиться,drush sql-query
как это предложено neubreed. @zkent, вам придется заново связать новое поле с существующими видами, панелями и т. д.В Drupal 7 вы можете использовать модуль Field Rename . В Drupal 6 вы можете использовать CCK модуль переименования полей .
источник
Я написал скрипт обновления, который фактически создает новое поле и экземпляр с новым именем машины, копирует все старые данные поля в новое и, наконец, удаляет старый экземпляр.
источник
Я просто должен был сделать это, и нашел, что это не слишком сложно, но мой сайт довольно прост.
Попробуй это:
(поменяйте местами [ИМЯ МАШИН] и [ИМЯ СТАРЫХ МАШИН] с помощью
field_your_field_names
)/admin/reports/fields/views-fields
источник
// Изменить имена таблиц хранения полей. Здесь мы меняем имя старой таблицы новым именем.
// Изменить имена полей в таблицах field_config и field_instance_config.
источник
С помощью приведенного выше ответа «drush field-clone» вы также можете выполнить последний шаг MySQL с Drush (пример D7):
источник
Если вы не хотите возиться в mysql, вы можете попробовать написанный мной сценарий drush, который называется Field value copy.
Сначала вам нужно будет настроить новое поле, а затем позвонить
Это переместит существующие данные в новое поле, как только удалит старое поле.
источник
Функция db_change_field () может вам помочь.
источник
Экспортируйте файл SQL вашей базы данных, используйте командную строку,
sed
чтобы заменить все вхождения термина, который нужно изменить, и повторно импортируйте вашу базу данных.источник