Персональная страница shra, блог фриленсера, веб-разработчика на PHP. Здесь я делюсь своим опытом и мыслями, провожу опыты над людьми, собираю нематериальные свидетельства собственной глупости. Используя примеры программного кода с данного сайта, вы принимаете всю ответственность за возможные последствия их использования, включая ваше психическое здоровье и интересы третьих лиц.
При отладке миграций в Drupal могут возникать состояния, когда миграция не прошла по какой то причине (ошибке) и подвисла в состоянии отличном от Idle.
Командой drush можно посмотреть общее состояние миграций
1
drush migrate:status
Вы увидете таблицу вроде следующей:
В данном случае все миграции в статусе Idle, но если вы получили ошибку, описанную в заголовке статьи, то одна или несколько из них будут иметь другой статус.
Статус можно сбросить (сделать Idle) командой drush, используя Migration ID, например для первой строки из списка:
Если у вас собран Drupal + Commerce, то, возможно, при обновлении модуля метатегов возникает ошибка.
Модуль не находит таблицы мета информации для сущности commerce_product и прерывается с выводом сообщения:
[crayon-6a5f82a4c7684981779072/] ...
Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы.
[crayon-6a5f82a4c7907437242066/]
Обычно объявления форм в Drupal 8+ размещаются в виде расширений класса FormBase в каталоге модуля /scr/Form/*. ...
В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ:
[crayon-6a5f82a4c7b78671928651/]
Подробности запроса:
\Drupal::languageManager() — обращение ...
Весьма распространённый случай, когда в качестве exposed filter используется поле, связанное с таксономией. Так вы получаете набор опций в фильтре для своего представления, которое доступно пользователю.
Также весьма часто некоторые дополнительные ...