Страница 1 из 1

Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 25 янв 2019, 16:24
Pavel
Добрый день. ОС Debian 8.11; mysql 5.5.62; apache 2.4.10. У меня возникла проблема с обновлением OTRS c 5.0.27 на 6.0.15. Когда запускаю /opt/otrs/scripts/DBUpdate-to-6.pl под пользователем "otrs" на 29 шаге возникает проблема
*********************************************
Step 29 of 42: Post changes on article related tables ...

DBUpdate-to-6.pl: DBD::mysql::db do failed: Cannot add or update a child row: a foreign key constraint fails (`otrs`.`#sql-41e5_26`, CONSTRAINT `FK_article_data_mime_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`)) at /opt/otrs/Kernel/System/DB.pm line 470.
ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time:

Message: Cannot add or update a child row: a foreign key constraint fails (`otrs`.`#sql-41e5_26`, CONSTRAINT `FK_С_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`)), SQL: 'EXECUTE FKStatement'

Traceback (16958):
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 394
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 342
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_UpdateArticleDataMimeTable Line: 286
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 52
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: scripts/DBUpdate-to-6.pl Line: 87


ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time:

Message: Error during execution of 'EXECUTE FKStatement'!

Traceback (16958):
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 397
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 342
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_UpdateArticleDataMimeTable Line: 286
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 52
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: scripts/DBUpdate-to-6.pl Line: 87

send sql to database



Not possible to complete migration, check previous messages for more information.

*********************************************

Прошу Вашей помощи.

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 25 янв 2019, 19:50
alexus
Добрый день!

Сильно похоже на кривизну базы. Мы сколько обновлений делали, с такой ошибкой не сталкивались. Возможно заметки руками чистили из базы не по феншую. Надо проверять таблицу article и foreign key для неё на корректность.
Можно конечно, отключить проверку foreign key, но сам факт ошибки - уже плохо.
Ну и гуглить Cannot add or update a child row: a foreign key constraint fails

ИМХО, тут сам по себе OTRS или скрипт обновления не при чём. Скорее всего - кривость базы. А много заметок и тикетов в базе всего?

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 28 янв 2019, 21:57
Pavel
Отключить проверку foreign key проверку. Ошибка не изменилась. База с 2012 года. (инцидентов каждый день около 30, сообщений 40-60) всего записей в article более 280000
Вот более подробна работа скрипта
Migration started ...

Checking requirements ...


Step 18 of 42: Create ticket number counter tables ...

- Table 'ticket_number_counter' already exists, skipping...

Step 19 of 42: Update calendar appointment future tasks ...
[Mon Jan 28 22:52:22 2019] DBUpdate-to-6.pl: DBD::mysql::st execute failed: Table 'otrs.calendar_appointment' doesn't exist at /opt/otrs/Kernel/System/DB.pm line 694.
ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time: Mon Jan 28 22:52:22 2019

Message: Table 'otrs.calendar_appointment' doesn't exist, SQL: 'SELECT id, parent_id, calendar_id, unique_id FROM calendar_appointment WHERE notify_time >= ? ORDER BY notify_time ASC'

Traceback (4677):
Module: Kernel::System::Calendar::Appointment::AppointmentUpcomingGet Line: 1689
Module: Kernel::System::Calendar::Appointment::AppointmentFutureTasksUpdate Line: 1790
Module: scripts::DBUpdateTo6::UpdateAppointmentCalendarFutureTasks::Run Line: 32
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: /opt/otrs/scripts/DBUpdate-to-6.pl Line: 87

Step 20 of 42: Add basic appointment notification for reminders ...
Step 21 of 42: Create Form Draft tables ...
Step 22 of 42: Clean and drop group_user permission_value column ...
Step 23 of 42: Migrate GenericAgent jobs configuration ...
Step 24 of 42: Migrate TicketAppointment rules configuration ...
[Mon Jan 28 22:52:22 2019] DBUpdate-to-6.pl: DBD::mysql::st execute failed: Table 'otrs.calendar' doesn't exist at /opt/otrs/Kernel/System/DB.pm line 694.
ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time: Mon Jan 28 22:52:22 2019

Message: Table 'otrs.calendar' doesn't exist, SQL: '
SELECT id, group_id, name, color, create_time, create_by, change_time, change_by,
valid_id
FROM calendar
WHERE 1=1
ORDER BY id ASC'

Traceback (4677):
Module: Kernel::System::Calendar::CalendarList Line: 457
Module: scripts::DBUpdateTo6::MigrateTicketAppointments::Run Line: 32
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: /opt/otrs/scripts/DBUpdate-to-6.pl Line: 87

Step 25 of 42: Migrate Merged Ticket history name values ...
Step 26 of 42: Migrate ticket statistics ...
Step 27 of 42: Migrate ticket notifications ...
Step 28 of 42: Create entries in new article table ...

- -427 articles will be migrated

Step 29 of 42: Post changes on article related tables ...

- Reseting auto-incremental if needed for article table.
- Performing needed actions on article_data_mime table.
- Performing needed actions on article_data_mime_plain table.
- Performing needed actions on article_data_mime_attachment table.
- Re-create foreign keys pointing to the old article table.
[Mon Jan 28 22:54:15 2019] DBUpdate-to-6.pl: DBD::mysql::db do failed: Cannot add or update a child row: a foreign key constraint fails (`otrs`.`#sql-440_56`, CONSTRAINT `FK_article_flag_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`)) at /opt/otrs/Kernel/System/DB.pm line 470.
ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time: Mon Jan 28 22:54:15 2019

Message: Cannot add or update a child row: a foreign key constraint fails (`otrs`.`#sql-440_56`, CONSTRAINT `FK_article_flag_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`)), SQL: 'EXECUTE FKStatement'

Traceback (4677):
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 394
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 342
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_RecreateForeignKeysPointingToArticleTable Line: 419
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 67
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: /opt/otrs/scripts/DBUpdate-to-6.pl Line: 87


ERROR: OTRS-otrs.Console.pl-Maint::Database::Check-10 Perl: 5.20.2 OS: linux Time: Mon Jan 28 22:54:15 2019

Message: Error during execution of 'EXECUTE FKStatement'!

Traceback (4677):
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 397
Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 342
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_RecreateForeignKeysPointingToArticleTable Line: 419
Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 67
Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 157
Module: scripts::DBUpdateTo6::Run Line: 69
Module: /opt/otrs/scripts/DBUpdate-to-6.pl Line: 87




Not possible to complete migration, check previous messages for more information.

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 28 янв 2019, 22:13
alexus
Версия 5 появилась в 2015 году. Значит система изначально была 3.2 или даже 3.1. Кто и насколько правильно делал предыдущие обновления? Как давно вы админите систему?

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 30 янв 2019, 15:15
Pavel
изучаю данный вопрос 4 месяца. Обновлял я с 3.2 по 5.0.27.

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 30 янв 2019, 23:35
alexus
На предыдущих обновлениях не было никаких ошибок или незавершённых процессов?

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 05 фев 2019, 11:15
Pavel
Не было ошибок или незавершенных.

Re: Обновление OTRS 5.0.27 на 6.0.15

Добавлено: 05 фев 2019, 22:03
alexus
мы тоже на обновлениях подобные вещи не встречали. Тогда ещё есть вариант с кривыми удалениями тикетов и/или заметок, дин. полей и т.п. надо проверять детально, на какие конкретно ключи и значения идёт ругань, и смотреть откуда они.