magento / data-migration-tool

Magento Data Migration Tool
https://devdocs.magento.com/guides/v2.3/migration/bk-migration-guide.html
Open Software License 3.0
336 stars 200 forks source link

Return value of Migration\ResourceModel\AbstractCollection::key() must be an instance of Migration\ResourceModel\mixed, int returned #902

Open rickg123 opened 2 years ago

rickg123 commented 2 years ago

Preconditions

  1. Magento 1.9.3.10 to Magento 2.4.5
  2. PHP 7.4 & MySQL 8.0.30 - Ubuntu 22.04.1
  3. FRESH Magento 2 install

Steps to reproduce

  1. Run - composer require magento/data-migration-tool:~2.4.5
  2. Create and configure a Migration module in app/code/Vendor/Migration following steps in official docs
  3. Check data integrity and add ignores for tables and fields that are flagged as problematic i.e. 3rd party extensions
  4. Run - php bin/magento migrate:settings --reset app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.3.10/config.xml

Expected result

100% [============================] Remaining Time: < 1 sec

100% [============================] Remaining Time: < 1 sec

100% [============================] Remaining Time: < 1 sec

100% [>---------------------------] Remaining Time: < 1 sec

Actual result

100% [============================] Remaining Time: < 1 sec

100% [============================] Remaining Time: < 1 sec

100% [============================] Remaining Time: < 1 sec

0% [>---------------------------] Remaining Time: < 1 secReturn value of Migration\ResourceModel\AbstractCollection::key() must be an instance of Migration\ResourceModel\mixed, int returned#0 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/ResourceModel/AbstractCollection.php(69): Migration\ResourceModel\AbstractCollection->key()

1 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/ResourceModel/Destination.php(38): Migration\ResourceModel\AbstractCollection->valid()

2 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/Step/Stores/Data.php(118): Migration\ResourceModel\Destination->saveRecords()

3 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/Mode/AbstractMode.php(82): Migration\Step\Stores\Data->perform()

4 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/Mode/Settings.php(100): Migration\Mode\AbstractMode->runStage()

5 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/Mode/Settings.php(58): Migration\Mode\Settings->runData()

6 /var/www/html/magento2/vendor/magento/data-migration-tool/src/Migration/Console/MigrateSettingsCommand.php(59): Migration\Mode\Settings->run()

7 /var/www/html/magento2/vendor/symfony/console/Command/Command.php(255): Migration\Console\MigrateSettingsCommand->execute()

8 /var/www/html/magento2/vendor/magento/framework/Interception/Interceptor.php(58): Symfony\Component\Console\Command\Command->run()

9 /var/www/html/magento2/vendor/magento/framework/Interception/Interceptor.php(138): Migration\Console\MigrateSettingsCommand\Interceptor->___callParent()

10 /var/www/html/magento2/vendor/magento/framework/Interception/Interceptor.php(153): Migration\Console\MigrateSettingsCommand\Interceptor->Magento\Framework\Interception{closure}()

11 /var/www/html/magento2/generated/code/Migration/Console/MigrateSettingsCommand/Interceptor.php(77): Migration\Console\MigrateSettingsCommand\Interceptor->___callPlugins()

12 /var/www/html/magento2/vendor/symfony/console/Application.php(1009): Migration\Console\MigrateSettingsCommand\Interceptor->run()

13 /var/www/html/magento2/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()

14 /var/www/html/magento2/vendor/magento/framework/Console/Cli.php(116): Symfony\Component\Console\Application->doRun()

15 /var/www/html/magento2/vendor/symfony/console/Application.php(149): Magento\Framework\Console\Cli->doRun()

16 /var/www/html/magento2/bin/magento(23): Symfony\Component\Console\Application->run()

17 {main}

Additional notes

The error: Return value of Migration\ResourceModel\AbstractCollection::key() must be an instance of Migration\ResourceModel\mixed, int returned

I have not been able to find anything related to this error. Is there a compatibility issue with 2.4.5?

Please advise.

m2-assistant[bot] commented 2 years ago

Hi @rickg123. Thank you for your report. To speed up processing of this issue, make sure that you provided sufficient information.

Add a comment to assign the issue: @magento I am working on this


m2-assistant[bot] commented 2 years ago

Hi @rickg123! :wave: Thank you for collaboration. Only members of Community Contributors Team are allowed to be assigned to the issue. Please use @magento add to contributors team command to join Contributors team.

IJOL commented 2 years ago

We are experiencing the same problem, when trying a 1.9.3.6 to 2.4.5 migration, exact same stack trace and error...

And as a result, m2 stores table ends empty, and next bin/magento command fails, and the m2 installation is unusable, until you recover the dreaded stores table....

ticbitvax commented 2 years ago

We also have exactly the same problem, this error occurs when migrating from version 1.9.3.6 to 2.4.5, any solution?

jaguzmanb1 commented 2 years ago

Same error here migrating 1.9.4.0 to 2.4.5. The magento2 implementation got stuck and unusable

victor-v-rad commented 1 year ago

Hi guys,

PHP 8.1 is in the System requirements for Magento 2.4.5

rickg123 commented 1 year ago

Hi guys,

PHP 8.1 is in the System requirements for Magento 2.4.5

Thank you!

Yes I've been working on it this week and tried a PHP 8.1 server. The migration tool worked as expected when using PHP 8.1 instead of PHP 7.4. I was planning to add a note here to anyone seeing the same errors.