Вы здесь

Ошибка при миграции комментариев с 7.41 => 8.02

0

Добрый день!

Решил таки попробовать сделать апгрейд друпала на восьмерку. И естественно с первого раза ничего и не получилось. Итак рабочее окружение: Xampp с PHP 5.6.15

  • Развернул копию своего сайта,
  • Установил чистую версию drupal 8.0.2. При установке выдалось предупреждение, что с opcache все будет намного шустрее, но это некритичная ошибка и можно продолжить.
  • Установил модуль migrate_upgrade Версия: 8.x-1.x-dev
  • Запустил /upgrade
  • Сначала все шло без ошибок, но в процессе переноса комментариев начали вываливаться такие ошибки

SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'uid' at row 1: INSERT INTO @comment_field_data (cid, comment_type, langcode, pid, entity_id, subject, uid, name, mail, homepage, hostname, created, changed, status, thread, entity_type, field_name, default_langcode) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17); Array ( [:db_insert_placeholder_0] => 1595 [:db_insert_placeholder_1] => comment_node_forum [:db_insert_placeholder_2] => ru [:db_insert_placeholder_3] => 0 [:db_insert_placeholder_4] => 789 [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => -1 [:db_insert_placeholder_7] => Anonymous [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => [:db_insert_placeholder_10] => ::1 [:db_insert_placeholder_11] => 1144854197 [:db_insert_placeholder_12] => 1144854197 [:db_insert_placeholder_13] => 1 [:db_insert_placeholder_14] => 112/ [:db_insert_placeholder_15] => node [:db_insert_placeholder_16] => comment_node_forum [:db_insert_placeholder_17] => 1 ) (C:\xampp\htdocs\dru8\core\lib\Drupal\Core\Entity\Sql\SqlContentEntityStorage.php:757)

  • И потом выдало следующее:

Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /dru8/batch?id=6&op=do_nojs&op=do
Текст Состояния: OK
Текст Ответа:

Главная страница стала вот такой:

Админка отображается нормально.

При попытке открыть любой комментарий на сайте выдает следующую ошибку:

Fatal error: Call to a member function getSetting() on null in C:\xampp\htdocs\dru8\core\modules\comment\src\Controller\CommentController.php on line 131

Содержимое форума тоже не перенеслось, только структура из таксономии.
Первый блин оказался комом.

Версия Drupal: 
8.x
Связанные проекты: 
Migrate Upgrade
Вопрос задан 08.01.2016 - 15:07

Кстати, было бы неплохо перед публикацией иметь возможность предпросмотра, а то с markdown разметкой не знаком.

Комментарий оставлен 08.01.2016 - 15:08

Ответы

1

Пытается ввести в UID (unsigned int - целое от 0) значение -1 (смотри = [:db_insert_placeholder_6]), исследуй старую БД, откуда такие записи...

Ответ дан 08.01.2016 - 16:18

У меня действительно много записей в таблице comment с uid = -1, этот uid принадлежит пользователю anonymous, то есть гостю, как я понимаю.

Комментарий оставлен 08.01.2016 - 17:46

Развернул новую инсталляцию drupal 7. У гостей uid = 0. Странно, почему у меня стало -1. Сейчас попробую поменять и и перегнать. Отпишусь по результатам.

Комментарий оставлен 08.01.2016 - 18:07

Стадию комментариев прошел. Спасибо!
Но вот с пункта

Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /dru8/batch?id=6&op=do_nojs&op=do
Текст Состояния: OK
Текст Ответа:
Все также без изменений.

Комментарий оставлен 08.01.2016 - 19:23

это означает, что есть еще другая ошибка, если в логах drupal-а не видно, попробуй посмотреть логи php.

Комментарий оставлен 10.01.2016 - 07:50