Skip to content

Migrate Settings Failing XSD Validation Opensource-to-Opensource #695

Description

@PivitParkour94

Preconditions

  1. Magento 2.3.1

  2. PHP 7.2.19

  3. mysql --version

      mysql  Ver 15.1 Distrib 10.2.24-MariaDB, for Linux (x86_64) using readline 5.1
    
  4. CentOS Linux release 7.6.1810 (Core)

Steps to reproduce

  1. Install data migration tool <composer require magento/data-migration-tool:2.3.1> on existing, working Magento 2.3.1 installation
  2. cp ./vendor/magento/data-migration-tool/etc/opensource-to-opensource/settings.xml.dist ./vendor/magento/data-migration-tool/etc/opensource-to-opensource/settings.xml
  3. bin/magento -vvv migrate:settings ./vendor/magento/data-migration-tool/etc/opensource-to-opensource/settings.xml

Expected result

  1. [INFO]: Migration completed

Actual result

  1. Exception is thrown "XML file is invalid"

Additional notes

After adding the following verbose logging changes:

    try {
        $isValid = $document->validate($this->getConfigDirectoryPath() . self::CONFIGURATION_SCHEMA, $errors);
    } catch (\Exception $exception) {
        throw new Exception('XML file is invalid at ' . $configFile);
    }
    if (!$isValid) {
        throw new Exception('XML file is invalid at ' . $configFile . '<br>' . json_encode($errors));
    }

The error being thrown was that the config.xsd wasn't validating.
After adding a little switch statement and a constant for the settings.xsd the error was resolved.

Should I make a pull request for this? I don't want to put in the effort if it is just going to be ignored.

If this isn't replicatable, we can maintain our own version with the patch, but obviously a PR into the actual codebase would be better.

Possibly related issues
#546 [Migration\Exception] XML file is invalid. 1.9.3.8 -> 2.2.4
#378 Magento2 Migrating from M1 1.9.3.6 To M2 2.2.0 opensource to opensource

It's a little sad to see that the solution to the validation failing is to simply move change to a development environment...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions