"Призрак" в ожидании обновления (перенос резервной копии)
Работая над проектом на локальном хосте, для которого я установил модуль backup_migrate, похоже, в одной процедуре обновления для этого модуля возникла какая-то проблема (не могу вспомнить, какая). И теперь каждый раз, когда я обновляю любой модуль (даже совершенно не связанный), при выполнении"update.php "скрипт, Drupal заявляет, что для модуля backup_migrate ожидается следующее обновление:
7303 - Add a serial id field to all tables to allow them to be ctools exportable.
Если я нажму применить, я получу обычный индикатор выполнения, затем следующее сообщение об ошибке:
backup_migrate module
Update #7303
Failed: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be defined as a key: ALTER TABLE {backup_migrate_sources} DROP PRIMARY KEY; Array ( ) in db_drop_primary_key() (line 2904 of C:\xampp\htdocs\my_site\includes\database\database.inc).
Итак, мне кажется, что задание обновления #7303 уже успешно применено, но по какой-то причине Drupal не зарегистрировал это и думает, что это все еще нужно сделать.
Как я могу это исправить?
1 answers
Хорошо, я думаю, что нашел его, хотя я еще не смог подтвердить, что проблема устранена, так как все мои модули обновлены.
Основываясь на этом вопросе , вот что я сделал:
- найдите идентификационный номер для ожидающего обновления. В моем случае это было прямо указано в Друпале update.php сообщения, так что это
7303
. Эту информацию также можно найти в файле.install
в папке модуля (напримерfunction backup_migrate_update_7303
). - доступ к базе данных (например, через phpmyadmin) и перейдите к таблице
system
. - в этой таблице найдите запись, соответствующую модулю, обновление которого еще не завершено (в моем случае: backup_migrate)
- отредактируйте столбец
schema_version
для этой строки и присвойте ему значение идентификатора обновления, найденного на шаге 1 (например,7303
).
И это все.