Upgrade OTRS 5 to 6

Moderator: crythias

Locked
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Upgrade OTRS 5 to 6

Post by artursampaio »

I'm trying to update an OTRS5 to znuny 6.0.48. When I run the DBUpdate-to-6.pl script I get the following output:

Code: Select all

 Migration started ...

 Checking requirements ...

    Requirement check for: Check framework version ...
    Requirement check for: Check required Perl version ...
    Requirement check for: Check required database version ...
    Requirement check for: Check database charset ...
    Requirement check for: Check required Perl modules ...
    Requirement check for: Check if database has been backed up ...

        Did you backup the database? [Y]es/[N]o: y

    Requirement check for: Migrate PostMaster pre-filters that execute system commands ...
    Requirement check for: Migrate dashboard widgets that execute system commands ...
    Requirement check for: Upgrade database structure ...
    Requirement check for: Migrating time zone configuration ...
    Requirement check for: Update calendar appointment future tasks ...
    Requirement check for: Migrate GenericAgent jobs configuration ...
    Requirement check for: Migrate TicketAppointment rules configuration ...
    Requirement check for: Create entries in new article table ...
    Requirement check for: Migrate ArticleType in ProcessManagement Data ...
    Requirement check for: Migrate ArticleType in PostMaster filters ...
    Requirement check for: Remove Generic Agent system commands ...

 Executing tasks ...

    Step 1 of 49: Check framework version ...
    Step 2 of 49: Check required Perl version ...
    Step 3 of 49: Check required database version ...
    Step 4 of 49: Check database charset ...
    Step 5 of 49: Check required Perl modules ...
    Step 6 of 49: Check installed CPAN modules for known vulnerabilities ...
    Step 7 of 49: Check if database has been backed up ...
    Step 8 of 49: Migrate PostMaster pre-filters that execute system commands ...
    Step 9 of 49: Migrate dashboard widgets that execute system commands ...
    Step 10 of 49: Upgrade database structure ...
    Step 11 of 49: Migrate configuration ...
    Step 12 of 49: Refresh configuration cache after migration of OTRS 5 settings ...
    Step 13 of 49: Migrating ticket storage configuration ...
    Step 14 of 49: Migrating article search index configuration ...
    Step 15 of 49: Migrating ticket zoom customer information widget configuration ...
    Step 16 of 49: Drop deprecated table gi_object_lock_state ...
    Step 17 of 49: Migrate PossibleNextActions setting ...
    Step 18 of 49: Migrate ZoomExpand setting ...
    Step 19 of 49: Migrating time zone configuration ...
    Step 20 of 49: Migrating modified settings ...
    Step 21 of 49: Create appointment calendar tables ...
    Step 22 of 49: Create ticket number counter tables ...
    Step 23 of 49: Update calendar appointment future tasks ...
    Step 24 of 49: Add basic appointment notification for reminders ...
    Step 25 of 49: Create Form Draft tables ...
    Step 26 of 49: Clean and drop group_user permission_value column ...
    Step 27 of 49: Migrate GenericAgent jobs configuration ...
    Step 28 of 49: Migrate TicketAppointment rules configuration ...
    Step 29 of 49: Migrate Merged Ticket history name values ...
    Step 30 of 49: Migrate ticket statistics ...
    Step 31 of 49: Migrate ticket notifications ...
    Step 32 of 49: Create entries in new article table ...
    Step 33 of 49: Post changes on article related tables ...
[Thu Feb 20 10:11:24 2025] DBUpdate-to-6.pl: DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /opt/znuny-6.0.48/Kernel/System/DB.pm line 471.
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 13:11:25 2025

 Message: Cannot delete or update a parent row: a foreign key constraint fails, SQL: 'DROP TABLE IF EXISTS article_type'

 Traceback (803163):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 396
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88


ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 13:11:25 2025

 Message: Error during execution of 'DROP TABLE IF EXISTS article_type'!

 Traceback (803163):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 399
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88




 Not possible to complete migration, check previous messages for more information.
I verified that the ticket table still has references to the ticket_type table, so the database is correct in preventing DROP

Any help?
root
Administrator
Posts: 4243
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Upgrade OTRS 5 to 6

Post by root »

HI,

The table articel_type should be dropped, which is correct since v6.0 introduced communication channels. There might be other tables, probably from add-ons, that have a reference here. Which add-ons do you have installed?

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Re: Upgrade OTRS 5 to 6

Post by artursampaio »

Thanks for the reply

Yes, actually I do have some modules installed:

Code: Select all

 su -c "/opt/otrs/bin/otrs.Console.pl  Admin::Package::List " -s /bin/bash otrs
Listing all installed packages...
+----------------------------------------------------------------------------+
| Name:        ComplementoRepository
| Version:     5.0.9
| Vendor:      Complemento [Free]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Free and Enterprise Add Ons developed by Complemento - Liberdade e Tecnologia
+----------------------------------------------------------------------------+
| Name:        CustomerCompanyImportExport
| Version:     5.0.0
| Vendor:      c.a.p.e. IT GmbH
| URL:         http://www.cape-it.de/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Provides ImportExportBackend for CustomerCompany.
+----------------------------------------------------------------------------+
| Name:        CustomerUserImportExport
| Version:     5.0.0
| Vendor:      c.a.p.e. IT GmbH
| URL:         http://www.cape-it.de/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: Provides ImportExportBackend for CustomerUsers.
+----------------------------------------------------------------------------+
| Name:        Dashboards
| Version:     5.3.43
| Vendor:      Complemento [Enterprise]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Nice Dashboards for OTRS. Professional support is available at http://www.complemento.net.br
+----------------------------------------------------------------------------+
| Name:        DynamicFieldTextMask
| Version:     5.0.1
| Vendor:      Complemento [Enterprise]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Dynamic Field with masking input options
+----------------------------------------------------------------------------+
| Name:        DynamicSurvey
| Version:     5.0.4
| Vendor:      Complemento [Enterprise]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Receive notifications when the customer is not happy with your team. Make easy dashboards and reports with all Survey replies. Search for tickets by survey answers.
+----------------------------------------------------------------------------+
| Name:        GeneralCatalog
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The General Catalog package.
+----------------------------------------------------------------------------+
| Name:        HighCharts
| Version:     5.3.8
| Vendor:      Complemento [Free]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: HighChart Library for OTRS. This is used by other AddOns such as AccountedTime or Dashboards from Complemento
+----------------------------------------------------------------------------+
| Name:        ImportExport
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The ImportExport package.
+----------------------------------------------------------------------------+
| Name:        ImportExportDynamicFields
| Version:     5.0.1
| Vendor:      Perl-Services.de
| URL:         http://www.perl-services.de
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: Import/Export dynamic fields
+----------------------------------------------------------------------------+
| Name:        ITSM
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM bundle package.
+----------------------------------------------------------------------------+
| Name:        ITSMChangeManagement
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Change Management package.
+----------------------------------------------------------------------------+
| Name:        ITSMConfigurationManagement
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Configuration Management package.
+----------------------------------------------------------------------------+
| Name:        ITSMCore
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Core package.
+----------------------------------------------------------------------------+
| Name:        ITSMIncidentProblemManagement
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Incident and Problem Management package.
+----------------------------------------------------------------------------+
| Name:        ITSMServiceLevelManagement
| Version:     5.0.21
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Service Level Management package.
+----------------------------------------------------------------------------+
| Name:        JQuery-UI-Full
| Version:     1.11.5
| Vendor:      Complemento [Free]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: JQuery-UI-Full
+----------------------------------------------------------------------------+
| Name:        QueueAndServices
| Version:     5.0.3
| Vendor:      Complemento [Free]
| URL:         http://www.complemento.net.br
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Choose which Services you want to show on each Queue
+----------------------------------------------------------------------------+
| Name:        RestrictedTicketWidget
| Version:     5.0.0
| Vendor:      Complemento [Enterprise]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Show private Dynamic Fields only for allowed groups of Agents
+----------------------------------------------------------------------------+
| Name:        ServiceDynamicField
| Version:     5.0.0
| Vendor:      Complemento [Enterprise]
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Allows you to create Dynamic Fields for Service
+----------------------------------------------------------------------------+
| Name:        SlaStop
| Version:     5.0.8
| Vendor:      Complemento [Free]
| URL:         http://www.complemento.net.br
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: This package is a snip of KIX4OTRS Sla Disabling feature with some modifications.
+----------------------------------------------------------------------------+
| Name:        Survey
| Version:     5.0.5
| Vendor:      xxx
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: A customer survey tool.
+----------------------------------------------------------------------------+
| Name:        TicketAverageResponseTime
| Version:     5.0.11
| Vendor:      Complemento - Liberdade e Tecnologia
| URL:         http://www.complemento.net.br/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Clean OTRS View Zoom
+----------------------------------------------------------------------------+
| Name:        TicketMenuExternalLink
| Version:     5.0.6
| Vendor:      Perl-Services.de
| URL:         http://www.perl-services.de
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: Show external links in the ticket menu.
+----------------------------------------------------------------------------+
| Name:        UserImportExport
| Version:     5.0.1
| Vendor:      c.a.p.e. IT GmbH
| URL:         http://www.cape-it.de/
| License:     GNU GENERAL PUBLIC LICENSE Version 2, June 1991
| Description: Provides ImportExportBackend for Users.
+----------------------------------------------------------------------------+
| Name:        Znuny4OTRS-Repo
| Version:     5.0.46
| Vendor:      Znuny GmbH
| URL:         http://znuny.com/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: Enables Znuny4OTRS repositories to directly install and upgrade Znuny packages via package manager.
+----------------------------------------------------------------------------+
| Name:        Znuny4OTRS-ShowPendingTimeIfNeeded
| Version:     5.0.3
| Vendor:      Znuny GmbH
| URL:         http://znuny.com/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: This package contains the functionality to remove the pendingtime select if no pending state is set.
+----------------------------------------------------------------------------+
Done.
I copied the XML files from the /Kernel/Config/Files directory to the new installation and ran the conversion script (su -c "/opt/otrs/bin/otrs.Console.pl Dev::Tools::Migrate::ConfigXMLStructure --source-directory /opt/otrs/Kernel/Config/Files" -s /bin/bash otrs)
Some of these converted files conflicted with the original ones from the znuny6 package, and those from the znuny6 package were kept


The article table still has references to the article_type table:

Code: Select all

 select distinct(article_type_id), count(1) from article group by articlE_type_id;
+-----------------+----------+
| article_type_id | count(1) |
+-----------------+----------+
|               1 |   188029 |
|               2 |     7288 |
|               3 |    71231 |
|               4 |        2 |
|               5 |     7626 |
|               8 |     3361 |
|               9 |    53402 |
|              10 |     2059 |
+-----------------+----------+
8 rows in set (4.29 sec)
root wrote: 20 Feb 2025, 17:06 HI,

The table articel_type should be dropped, which is correct since v6.0 introduced communication channels. There might be other tables, probably from add-ons, that have a reference here. Which add-ons do you have installed?

- Roy
root
Administrator
Posts: 4243
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Upgrade OTRS 5 to 6

Post by root »

Hi,
artursampaio wrote: 20 Feb 2025, 19:05

I copied the XML files from the /Kernel/Config/Files directory to the new installation and ran the conversion script (su -c "/opt/otrs/bin/otrs.Console.pl Dev::Tools::Migrate::ConfigXMLStructure --source-directory /opt/otrs/Kernel/Config/Files" -s /bin/bash otrs)
Some of these converted files conflicted with the original ones from the znuny6 package, and those from the znuny6 package were kept
Don't do this. The manual says you should do this if you have your own XML files. XML files from the framework itself or add-ons are not targets for this command. You need to verify for each single add-on if there is a version available for your target version, probably Znuny LTS 6.5 or Znuny 7.1.
My recommendation, that's how I do it, is only to add-ons in the intermediate steps when it's necessary.

Good luck
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Re: Upgrade OTRS 5 to 6

Post by artursampaio »

root wrote: 20 Feb 2025, 19:58 Hi,
artursampaio wrote: 20 Feb 2025, 19:05

I copied the XML files from the /Kernel/Config/Files directory to the new installation and ran the conversion script (su -c "/opt/otrs/bin/otrs.Console.pl Dev::Tools::Migrate::ConfigXMLStructure --source-directory /opt/otrs/Kernel/Config/Files" -s /bin/bash otrs)
Some of these converted files conflicted with the original ones from the znuny6 package, and those from the znuny6 package were kept
Don't do this. The manual says you should do this if you have your own XML files. XML files from the framework itself or add-ons are not targets for this command. You need to verify for each single add-on if there is a version available for your target version, probably Znuny LTS 6.5 or Znuny 7.1.
My recommendation, that's how I do it, is only to add-ons in the intermediate steps when it's necessary.

Good luck
Thanks for the warning about the add-ons

I started over, without copying the XML files (and therefore not running the migrate script)
Only copying the files Config.pm and ZZZAuto.pm (following the instructions on https://otrscommunityedition.com/doc/ma ... ating.html)
Now i got error the following output:

Code: Select all

su -c 'cd /opt/otrs/ & scripts/DBUpdate-to-6.pl --verbose --cleanup-orphaned-articles' - otrs

 Migration started ...

 Checking requirements ...

    Requirement check for: Check framework version ...
    Requirement check for: Check required Perl version ...
    Installed Perl version: v5.34.0. Minimum required Perl version: v5.16.0.
    Requirement check for: Check required database version ...
    Installed database version: MariaDB 10.3.39. Minimum required database version: 5.0.0.
    Requirement check for: Check database charset ...
    The setting character_set_client is: utf8. The setting character_set_database is: utf8. No tables found with invalid charset.
    Requirement check for: Check required Perl modules ...

    Executing /opt/otrs/bin/otrs.CheckModules.pl to check for missing required modules.

  o Apache::DBI......................ok (v1.12)
  o Apache2::Reload..................ok (v0.13)
  o Archive::Tar.....................ok (v2.38)
  o Archive::Zip.....................ok (v1.68)
  o Crypt::Eksblowfish::Bcrypt.......ok (v0.009)
  o CSS::Minifier::XS................ok (v0.13)
  o Date::Format.....................ok (v2.24)
  o DateTime.........................ok (v1.55)
    o DateTime::TimeZone.............ok (v2.51)
  o DBI..............................ok (v1.643)
  o DBD::mysql.......................ok (v4.050)
  o DBD::ODBC........................Not installed! To install, you can use: 'apt-get install -y libdbd-odbc-perl'. (optional - Required to connect to a MS-SQL database.)
  o DBD::Oracle......................Not installed! (optional - Required to connect to a Oracle database.)
  o DBD::Pg..........................Not installed! To install, you can use: 'apt-get install -y libdbd-pg-perl'. (optional - Required to connect to a PostgreSQL database.)
  o Digest::SHA......................ok (v6.02)
  o Encode::HanExtra.................ok (v0.23)
  o IO::Socket::SSL..................ok (v2.074)
  o JavaScript::Minifier::XS.........ok (v0.15)
  o JSON::XS.........................ok (v4.03)
  o List::Util::XS...................ok (v1.55)
  o LWP::UserAgent...................ok (v6.53)
  o Mail::IMAPClient.................ok (v3.43)
    o IO::Socket::SSL................ok (v2.074)
    o Authen::SASL...................ok (v2.16)
    o Authen::NTLM...................ok (v1.09)
  o ModPerl::Util....................ok (v2.000012)
  o Moo..............................ok (v2.005004)
  o Net::DNS.........................ok (v1.33)
  o Net::LDAP........................ok (v0.68)
  o Net::SMTP........................ok (v3.13)
  o Template.........................ok (v2.27)
  o Template::Stash::XS..............ok (undef)
  o Text::CSV_XS.....................ok (v1.47)
  o Time::HiRes......................ok (v1.9767)
  o XML::LibXML......................ok (v2.0134)
  o XML::LibXSLT.....................ok (v1.99)
  o XML::Parser......................ok (v2.46)
  o YAML::XS.........................ok (v0.83)
    Requirement check for: Check if database has been backed up ...

        Warning: this script can make changes to your database which are irreversible.
        Make sure you have properly backed up complete database before continuing.

        Did you backup the database? [Y]es/[N]o: y

    Requirement check for: Migrate PostMaster pre-filters that execute system commands ...
    Requirement check for: Migrate dashboard widgets that execute system commands ...
    Requirement check for: Upgrade database structure ...

Trying to connect to database 'DBI:mysql:database=otrsbd;host=111.111.111.111' with user 'otrs'...
Connection successful.

    Requirement check for: Migrating time zone configuration ...
    Requirement check for: Update calendar appointment future tasks ...
    Requirement check for: Migrate GenericAgent jobs configuration ...
    Requirement check for: Migrate TicketAppointment rules configuration ...
    Requirement check for: Create entries in new article table ...
    Requirement check for: Migrate ArticleType in ProcessManagement Data ...
    Requirement check for: Migrate ArticleType in PostMaster filters ...
    Requirement check for: Remove Generic Agent system commands ...

 Executing tasks ...

    Step 1 of 49: Check framework version ...
    Step 2 of 49: Check required Perl version ...
    Step 3 of 49: Check required database version ...
    Step 4 of 49: Check database charset ...
    Step 5 of 49: Check required Perl modules ...
    Step 6 of 49: Check installed CPAN modules for known vulnerabilities ...
Collecting all installed modules. This can take a while...
No advisories found
    Step 7 of 49: Check if database has been backed up ...
    Step 8 of 49: Migrate PostMaster pre-filters that execute system commands ...
    Step 9 of 49: Migrate dashboard widgets that execute system commands ...
    Step 10 of 49: Upgrade database structure ...

       - Add table for dynamic field object names and add an index to speed up searching dynamic field text values
       - Add new sysconfig tables
       - Remove no longer needed MD5 columns from some tables
       - Add new communication channel table and insert data
       - Change article table structure and prepare renaming of article tables
       - Rename article tables
       - Create new article table and change some table structures after renaming of article tables
       - Add an index to the ticket_history table and add EmailResend ticket history type
       - Add new tables for customer relations
       - Add new table for chat data
       - Change the password columns in the user/customer user tables
       - Add new table for article search index
       - Add new tables for communication logs
       - Update notification tables
       - Drop obsolete create_time_unix column from ticket table
       - Replace column create_time_unix column by create_time column in ticket_index table
       - Index article_data_mime table
       - Fix user preference keys
         - Blacklisted keys not found in user preference tables.


    Step 11 of 49: Migrate configuration ...
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: Loading the YAML string failed:

 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 118
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1390
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: YAML data was: "---
Description:
- Content: Shows a teaser link in the menu for the ticket attachment view of OTRS
    Business Solution�.
  Translatable: '1'
Name: Ticket::Frontend::MenuModule###999-TeaserAttachmentView
Navigation:
- Content: Frontend::Agent::View::TicketZoom::MenuModule
Required: '0'
Valid: '0'
Value:
- Hash:
  - Item:
    - Content: Kernel::Output::HTML::TicketMenu::TeaserAttachmentView
      Key: Module
    - Content: All attachments (OTRS Business Solution�)
      Key: Name
    - Content: View all attachments of the current ticket
      Key: Description
      Translatable: '1'
    - Content: AgentTicketZoom
      Key: Action
    - Content: Action=AgentTicketZoom;TicketID=[% Data.TicketID | html %]
      Key: Link
    - Key: Target
    - Content: OTRSBusinessRequired
      Key: Class
    - Key: PopupType
    - Content: Miscellaneous
      Key: ClusterName
      Translatable: '1'
    - Content: '999'
      Key: ClusterPriority
"

 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 126
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1390
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: YAML data was not readable even by pure-perl YAML module

 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 137
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1390
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: Loading the YAML string failed: YAML::XS::Load Error: The problem:

    control characters are not allowed

was found at document: 0


 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 118
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1391
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: YAML data was: "---
Action: AgentTicketZoom
Class: OTRSBusinessRequired
ClusterName: Miscellaneous
ClusterPriority: '999'
Description: View all attachments of the current ticket
Link: Action=AgentTicketZoom;TicketID=[% Data.TicketID | html %]
Module: Kernel::Output::HTML::TicketMenu::TeaserAttachmentView
Name: All attachments (OTRS Business Solution�)
PopupType: ''
Target: ''
"

 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 126
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1391
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 19:06:23 2025

 Message: Data was only readable pure-perl YAML module, please contact the System Administrator to update this record, as the stored data is still in a wrong format!

 Traceback (803518):
   Module: Kernel::System::YAML::Load Line: 143
   Module: Kernel::System::SysConfig::DB::DefaultSettingListGet Line: 1391
   Module: Kernel::System::SysConfig::_GetSettingsToDeploy Line: 5848
   Module: Kernel::System::SysConfig::ConfigurationDeploy Line: 3422
   Module: scripts::DBUpdateTo6::Base::RebuildConfig Line: 96
   Module: scripts::DBUpdateTo6::MigrateConfigEffectiveValues::Run Line: 49
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88


    If you see errors about 'Setting ... is invalid', that's fine, no need to worry!
    This could happen because some config settings are no longer needed for OTRS 6
    or you may have some packages installed, which will be migrated
    in a later step (during the package upgrade).

    The configuration migration can take some time, please be patient.

        - AllSettingsCount: 98
        - DisabledCount: 3
        - MissingCount: 0
        - UnsuccessfullCount: 0

    Step 12 of 49: Refresh configuration cache after migration of OTRS 5 settings ...
    Step 13 of 49: Migrating ticket storage configuration ...
    Step 14 of 49: Migrating article search index configuration ...
    Step 15 of 49: Migrating ticket zoom customer information widget configuration ...
    Step 16 of 49: Drop deprecated table gi_object_lock_state ...
    Step 17 of 49: Migrate PossibleNextActions setting ...
    Step 18 of 49: Migrate ZoomExpand setting ...

    There is no modified ZoomExpand config value, skipping migration...
    Step 19 of 49: Migrating time zone configuration ...
    Step 20 of 49: Migrating modified settings ...


    Step 21 of 49: Create appointment calendar tables ...
    Step 22 of 49: Create ticket number counter tables ...

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

    Step 23 of 49: Update calendar appointment future tasks ...
    Step 24 of 49: Add basic appointment notification for reminders ...
    Step 25 of 49: Create Form Draft tables ...
    Step 26 of 49: Clean and drop group_user permission_value column ...
    Step 27 of 49: Migrate GenericAgent jobs configuration ...
    Step 28 of 49: Migrate TicketAppointment rules configuration ...
    Step 29 of 49: Migrate Merged Ticket history name values ...
    Step 30 of 49: Migrate ticket statistics ...
    Step 31 of 49: Migrate ticket notifications ...
    Step 32 of 49: Create entries in new article table ...

        - -93636 articles will be migrated

    Step 33 of 49: 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.
        - Dropping no longer needed article_type table.

[Thu Feb 20 16:06:38 2025] DBUpdate-to-6.pl: DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /opt/znuny-6.0.48/Kernel/System/DB.pm line 471.
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 16:06:38 2025

 Message: Cannot delete or update a parent row: a foreign key constraint fails, SQL: 'DROP TABLE IF EXISTS article_type'

 Traceback (803518):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 396
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88


ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Thu Feb 20 16:06:38 2025

 Message: Error during execution of 'DROP TABLE IF EXISTS article_type'!

 Traceback (803518):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 399
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88




 Not possible to complete migration, check previous messages for more information.
Looks like the update script is trying to read some configuration files with wrong character encoding
I´ve downloaded the latest znuny6.0 and unpacked it with: tar-xzvf, creating the znuny-6.0.48 directory. Then I moved this directory to /opt and created the symbolic link /opt/otrs pointing to this new directory
Of course i ran the setPermissions script too

Any additional help is appreciated
root
Administrator
Posts: 4243
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Upgrade OTRS 5 to 6

Post by root »

Hi,

I recommend checking the database schema to see if there are other tables using the article_type as a foreign key. My bet would be one of the add-ons. The easiest way is to dump the database with --no-data and search for article_type in it.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Re: Upgrade OTRS 5 to 6

Post by artursampaio »

root wrote: 20 Feb 2025, 22:37 Hi,

I recommend checking the database schema to see if there are other tables using the article_type as a foreign key. My bet would be one of the add-ons. The easiest way is to dump the database with --no-data and search for article_type in it.

- Roy
I did the dump with --no-data and the only reference to article_type is the foreign key from article
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Re: Upgrade OTRS 5 to 6

Post by artursampaio »

I identified problems with the database encoding when making the clone to test the update.
Solved this problem, I still have the same error

Code: Select all

        - Dropping no longer needed article_type table.

[Sat Feb 22 11:11:05 2025] DBUpdate-to-6.pl: DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /opt/znuny-6.0.48/Kernel/System/DB.pm line 471.
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Sat Feb 22 11:11:05 2025

 Message: Cannot delete or update a parent row: a foreign key constraint fails, SQL: 'DROP TABLE IF EXISTS article_type'

 Traceback (807307):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 396
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88


ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Sat Feb 22 11:11:05 2025

 Message: Error during execution of 'DROP TABLE IF EXISTS article_type'!

 Traceback (807307):
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBString Line: 399
   Module: scripts::DBUpdateTo6::Base::ExecuteXMLDBArray Line: 344
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::_DropArticleTypeTable Line: 388
   Module: scripts::DBUpdateTo6::PostArticleTableStructureChanges::Run Line: 68
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88




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

I checked the constraints before and after running the script:

Code: Select all

 SELECT
    ->   TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
    -> FROM
    ->   INFORMATION_SCHEMA.KEY_COLUMN_USAGE
    -> WHERE REFERENCED_TABLE_NAME = 'article_type';
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| TABLE_NAME     | COLUMN_NAME     | CONSTRAINT_NAME                      | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| article        | article_type_id | FK_article_article_type_id_id        | article_type          | id                     |
| article_search | article_type_id | FK_article_search_article_type_id_id | article_type          | id                     |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+

Code: Select all

SELECT
    -> TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
    -> FROM
    -> INFORMATION_SCHEMA.KEY_COLUMN_USAGE
    -> WHERE REFERENCED_TABLE_NAME = 'article_type';
+------------+-----------------+-------------------------------+-----------------------+------------------------+
| TABLE_NAME | COLUMN_NAME     | CONSTRAINT_NAME               | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+------------+-----------------+-------------------------------+-----------------------+------------------------+
| article    | article_type_id | FK_article_article_type_id_id | article_type          | id                     |
+------------+-----------------+-------------------------------+-----------------------+------------------------+
I searched the script's source codes (Github rel-6_0) for the term "FK article article type_id_id" and did not find any occurrences
Is this FK native or created by some add-on?
Johannes
Moderator
Posts: 425
Joined: 30 Jan 2008, 02:26
Znuny Version: All of them ^^
Real Name: Hannes
Company: Znuny|OTTERHUB

Re: Upgrade OTRS 5 to 6

Post by Johannes »

Code: Select all

+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| TABLE_NAME     | COLUMN_NAME     | CONSTRAINT_NAME                      | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| article        | article_type_id | FK_article_article_type_id_id        | article_type          | id                     |
| article_search | article_type_id | FK_article_search_article_type_id_id | article_type          | id                     |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
2 rows in set (0.004 sec)
Those two are default.
So you could either manually drop it or retry with the script. Never had this before tbh.
My guess is that another run was not successful, when modifying the article table for example and now you are "stuck".
The script does not rely on anything special. Just remove it manually and you are good.

Regards
Johannes
beingbaban
Znuny newbie
Posts: 68
Joined: 20 Sep 2022, 13:59
Znuny Version: Znuny 6.5 LTS
Real Name: BP Singh

Re: Upgrade OTRS 5 to 6

Post by beingbaban »

one more question about itsm bundle and other itsm individual packages like generalcatalog, importexport, itsmcore.
If we dont use that are those still required for working of otrs?
I', upgrading on test instance and have removed those packages.

Also, see the attached screenshot. After upgrade this output keeps on coming after sometime.

No messages available for sending.
Done.

Create calendar based tickets...

Number of created tickets: 0
You do not have the required permissions to view the files attached to this post.
Johannes
Moderator
Posts: 425
Joined: 30 Jan 2008, 02:26
Znuny Version: All of them ^^
Real Name: Hannes
Company: Znuny|OTTERHUB

Re: Upgrade OTRS 5 to 6

Post by Johannes »

Regarding the ITSM. If you don't need them, you can uninstall them.
The ITSM was never "needed". Just uninstall before the upgrade.

Regarding your random output:

You started the Daemon on the shell. Do not do that, the Daemon starts by itself via the cron.
Please stop it and wait for it to start.
artursampaio
Znuny newbie
Posts: 7
Joined: 14 Sep 2017, 20:27
Znuny Version: OTRS5
Real Name: Artur
Company: USP

Re: Upgrade OTRS 5 to 6

Post by artursampaio »

Johannes wrote: 24 Feb 2025, 20:48

Code: Select all

+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| TABLE_NAME     | COLUMN_NAME     | CONSTRAINT_NAME                      | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
| article        | article_type_id | FK_article_article_type_id_id        | article_type          | id                     |
| article_search | article_type_id | FK_article_search_article_type_id_id | article_type          | id                     |
+----------------+-----------------+--------------------------------------+-----------------------+------------------------+
2 rows in set (0.004 sec)
Those two are default.
So you could either manually drop it or retry with the script. Never had this before tbh.
My guess is that another run was not successful, when modifying the article table for example and now you are "stuck".
The script does not rely on anything special. Just remove it manually and you are good.

Regards
Johannes
If the FK is native and there´s no command to DROP the FK, i can´t understand how the script should work

Anyways, I manually dropped the foreignkey and ran the script again
Now i got the following output:

Code: Select all

 Executing tasks ...

    Step 1 of 49: Check framework version ...
    Step 2 of 49: Check required Perl version ...
    Step 3 of 49: Check required database version ...
    Step 4 of 49: Check database charset ...
    Step 5 of 49: Check required Perl modules ...
    Step 6 of 49: Check installed CPAN modules for known vulnerabilities ...
Collecting all installed modules. This can take a while...
No advisories found
    Step 7 of 49: Check if database has been backed up ...
    Step 8 of 49: Migrate PostMaster pre-filters that execute system commands ...
    Step 9 of 49: Migrate dashboard widgets that execute system commands ...
    Step 10 of 49: Upgrade database structure ...

       - Add table for dynamic field object names and add an index to speed up searching dynamic field text values
       - Add new sysconfig tables
       - Remove no longer needed MD5 columns from some tables
       - Add new communication channel table and insert data
       - Change article table structure and prepare renaming of article tables
       - Rename article tables
       - Create new article table and change some table structures after renaming of article tables
       - Add an index to the ticket_history table and add EmailResend ticket history type
       - Add new tables for customer relations
       - Add new table for chat data
       - Change the password columns in the user/customer user tables
       - Add new table for article search index
       - Add new tables for communication logs
       - Update notification tables
       - Drop obsolete create_time_unix column from ticket table
       - Replace column create_time_unix column by create_time column in ticket_index table
       - Index article_data_mime table
       - Fix user preference keys
         - Blacklisted keys not found in user preference tables.


    Step 11 of 49: Migrate configuration ...

    If you see errors about 'Setting ... is invalid', that's fine, no need to worry!
    This could happen because some config settings are no longer needed for OTRS 6
    or you may have some packages installed, which will be migrated
    in a later step (during the package upgrade).

    The configuration migration can take some time, please be patient.

        - AllSettingsCount: 98
        - DisabledCount: 3
        - MissingCount: 0
        - UnsuccessfullCount: 0

    Step 12 of 49: Refresh configuration cache after migration of OTRS 5 settings ...
    Step 13 of 49: Migrating ticket storage configuration ...
    Step 14 of 49: Migrating article search index configuration ...
    Step 15 of 49: Migrating ticket zoom customer information widget configuration ...
    Step 16 of 49: Drop deprecated table gi_object_lock_state ...
    Step 17 of 49: Migrate PossibleNextActions setting ...
    Step 18 of 49: Migrate ZoomExpand setting ...

    There is no modified ZoomExpand config value, skipping migration...
    Step 19 of 49: Migrating time zone configuration ...
    Step 20 of 49: Migrating modified settings ...


    Step 21 of 49: Create appointment calendar tables ...
    Step 22 of 49: Create ticket number counter tables ...

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

    Step 23 of 49: Update calendar appointment future tasks ...
    Step 24 of 49: Add basic appointment notification for reminders ...
    Step 25 of 49: Create Form Draft tables ...
    Step 26 of 49: Clean and drop group_user permission_value column ...
    Step 27 of 49: Migrate GenericAgent jobs configuration ...
    Step 28 of 49: Migrate TicketAppointment rules configuration ...
    Step 29 of 49: Migrate Merged Ticket history name values ...
    Step 30 of 49: Migrate ticket statistics ...
    Step 31 of 49: Migrate ticket notifications ...

        - Article types table missing, skipping...

    Step 32 of 49: Create entries in new article table ...
        - Article types table missing, skipping...
    Step 33 of 49: Post changes on article related tables ...

        - Article types table missing, skipping...

    Step 34 of 49: Migrate ArticleType in ProcessManagement Data ...
    Step 35 of 49: Migrate ArticleType in PostMaster filters ...
    Step 36 of 49: Migrate chat articles ...
[Tue Feb 25 08:52:39 2025] DBUpdate-to-6.pl: DBD::mysql::st execute failed: Unknown column 'at.communication_channel_id' in 'where clause' at /opt/znuny-6.0.48/Kernel/System/DB.pm line 695.
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Tue Feb 25 08:52:39 2025

 Message: Unknown column 'at.communication_channel_id' in 'where clause', SQL: '
            SELECT COUNT(at.id)
            FROM article_data_mime adm
                JOIN article at ON adm.article_id = at.id
            WHERE at.communication_channel_id = ?
        '

 Traceback (826413):
   Module: scripts::DBUpdateTo6::MigrateChatData::_CheckChatArticles Line: 441
   Module: scripts::DBUpdateTo6::MigrateChatData::Run Line: 56
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

    Step 37 of 49: Add history types ...
    Step 38 of 49: Initialize default cron jobs ...
    Copying /opt/otrs/var/cron/aaa_base.dist to /opt/otrs/var/cron/aaa_base...
    done.
    Copying /opt/otrs/var/cron/otrs_daemon.dist to /opt/otrs/var/cron/otrs_daemon...
    done.
    Step 39 of 49: Migrate web service configuration ...
    Step 40 of 49: Migrate package repository configuration ...

        - Setting 'Package::RepositoryList' is already modified in the system skipping...

    Step 41 of 49: Migrate ticket search profiles ...
    Step 42 of 49: Add missing foreign keys that point to database table "article" ...
    Step 43 of 49: Remove Generic Agent system commands ...
ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Tue Feb 25 08:57:55 2025

 Message: Can't locate Kernel/System/DynamicField/Driver/TextMask.pm in @INC (you may need to install the Kernel::System::DynamicField::Driver::TextMask module) (@INC contains: /opt/znuny-6.0.48/Custom /opt/znuny-6.0.48/Kernel/cpan-lib /opt/znuny-6.0.48 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at /opt/znuny-6.0.48/Kernel/System/Main.pm line 86.


 Traceback (826413):
   Module: Kernel::System::DynamicField::Backend::new Line: 87
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 308
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: Kernel::System::GenericAgent::new Line: 63
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 308
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: scripts::DBUpdateTo6::RemoveGenericAgentSystemCommandCalls::Run Line: 30
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Tue Feb 25 08:57:55 2025

 Message: Can't load dynamic field backend module for field type TextMask!

 Traceback (826413):
   Module: Kernel::System::DynamicField::Backend::new Line: 88
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 308
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: Kernel::System::GenericAgent::new Line: 63
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 308
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: scripts::DBUpdateTo6::RemoveGenericAgentSystemCommandCalls::Run Line: 30
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

ERROR: OTRS-otrs.Console.pl-Dev::Code::CPANAudit-55 Perl: 5.34.0 OS: linux Time: Tue Feb 25 08:57:55 2025

 Message: The constructor of Kernel::System::DynamicField::Backend returned undef.

 Traceback (826413):
   Module: Kernel::System::ObjectManager::_DieWithError Line: 629
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 316
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: Kernel::System::GenericAgent::new Line: 63
   Module: Kernel::System::ObjectManager::_ObjectBuild Line: 308
   Module: Kernel::System::ObjectManager::Get Line: 202
   Module: scripts::DBUpdateTo6::RemoveGenericAgentSystemCommandCalls::Run Line: 30
   Module: scripts::DBUpdateTo6::_ExecuteComponent Line: 156
   Module: scripts::DBUpdateTo6::Run Line: 68
   Module: scripts/DBUpdate-to-6.pl Line: 88

The constructor of Kernel::System::DynamicField::Backend returned undef. at /opt/znuny-6.0.48/Kernel/System/GenericAgent.pm line 63.
So, the script found a missing field:
Unknown column 'at.communication_channel_id' in 'where clause'
But despite the error log, it skipped this step

And later stopped the execution on another error:
Can't load dynamic field backend module for field type TextMask

This refers to an add-on I got installed on OTRS5, which I would update after migration process.
But if the migration breaks on unavailable modules, how can I finish the migration to update add-ons?

There´s some way to update without copying ZZZAuto.pm, and load this file later, after the migration?
Locked