Рейтинг:3

Отсутствует информация о схеме для модуля — как исправить?

флаг in

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

Мой модуль планировщика полностью забит, как и моя база данных. Я не могу удалить модуль, потому что в базе данных отсутствует поле.

Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42S22]: столбец не найдено: 1054 Неизвестный столбец «publish_on» в «предложении where»: SELECT 1 КАК "выражение" ИЗ "node_field_data" "t" ГДЕ "publish_on" НЕ НУЛЕВОЙ ПРЕДЕЛ 1 СМЕЩЕНИЕ 0; Массив ( ) в Drupal\Core\Entity\Sql\SqlContentEntityStorage->countFieldData() (строка 1777 г. /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).

Я попытался запустить update.php, но я просто получаю следующее сообщение без возможности запустить обновление для модуля планировщика.

Информация о схеме планировщика модулей отсутствовала в базе данных.

Вам следует вручную просмотреть обновления модуля и вашу базу данных, чтобы проверьте, не были ли пропущены какие-либо обновления до, включительно, планировщик_обновление_8102().

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

Спасибо!

флаг in
Проще просто откатить любые изменения кода и загрузить резервную копию БД. Затем исправьте эту проблему с отсутствующим пользовательским модулем, прежде чем повторить попытку установки.
флаг in
Проблема не в пользовательском модуле. Это с модулем планировщика. Модуль Scheduler не был установлен должным образом, потому что что-то еще отсутствовало. Теперь я не могу удалить или сделать что-либо еще с сайтом, потому что схема перепуталась с Планировщиком.
флаг in
Конечно, могу гарантировать, что это не Scheduler. Когда вы устанавливаете модуль, Drupal выполняет и другие действия (проверка наличия зависимостей, проверка наличия плагинов, _запуск хуков_ и т. д.). Если какая-либо из этих вещей выйдет из строя в середине установки, ваша установка может закончиться незавершенной. В этом случае ваша установка Scheduler завершилась сбоем в то время, когда он зарегистрировал себя как включенный, но до обновления схем. В вопросе никогда не упоминалось, что это за пользовательский модуль, что он делает, как устанавливается планировщик или какие другие шаги были предприняты, поэтому мы никогда не узнаем, что именно произошло.
флаг in
Спасибо за информацию. Я знаю, что произошло, и я знаю, почему это произошло. Остается вопрос - КОГДА это произойдет, как я могу это исправить? Какой смысл иметь сообщение «просмотреть обновления модуля вручную», если нет возможности запускать обновления вручную. Если бы я мог найти простой способ запустить сценарий установки для планировщика, это решило бы проблему. В противном случае модули не должны умирать при удалении, если они не могут найти информацию о таблице или схеме. Как минимум должен быть встроен метод сборки мусора.

Ответить или комментировать

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