Open sweetappleuk opened 3 years ago
Hi @sweetappleuk. Thank you for your report. To help us process this issue please make sure that you provided sufficient information.
Please, add a comment to assign the issue: @magento I am working on this
To further confirm, modifying the source database to remove the 'mage_' table prefix allows the data import to proceed successfully with no other modifications.
The testing matrix for this tool definitely needs to be expanded to account for M1 sites with table prefixes, or updated instructions for those migrating from M1 to explicitly state that table prefixes should be removed from the source M1 database.
Preconditions
Steps to reproduce
Expected result
Actual result
90% [=========================>--] Remaining Time: < 1 sec In Mysql.php line 110:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento_1945.core_store' doesn't exist, query was: SELECT DISTINCT
child
.store_id
FROMmage_xmlconnect_application
ASchild
LEFT JOIN
core_store
ASparent
ON child.store_id = parent.store_id WHERE (child.store_id IS NOT NULL) AND (parent.store_id IS NULL)In Mysql.php line 91:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento_1945.core_store' doesn't exist
Additional notes
Error appears to be thrown from Migration\Step\DataIntegrity\Model\OrphanRecordsChecker->getOrphanRecordsIds()
Note that in the SQL JOIN statement the 'child' xmlconnect_application table name is prefixed correctly, but the 'parent' part of the JOIN references core_store table and does not contain the DB table prefix. Thus this is not an error caused by an incorrect or missing node.
It appears that the parentTable property of the OrphanRecordsChecker class is being injected into the constructor with the table prefix not set.