Only half of the products from VM 1.1.9 are mgrated into VM 3.0.12

Started by chaldama, December 20, 2015, 20:40:16 PM

Previous topic - Next topic

chaldama

Currently I am working on a migration of a Joomla 1.5 / VM 1.1.9 site into Joomla 3.4.6 / VM 3.0.12.
I have done migrations before and in the end it always worked out. Now however, I am stuck. Only half of the products are migrated and the migration is stopped when I use the option "migrate products only" or the general option "migrate everything".
All users, orders and categories are migrated well, the products however stop.

The error I keep getting is vmError: You are not an administrator or the correct vendor, storing of product cancelled
Off course I checked this but the shopowner is correctly set as vendor, also in PhPMyAdmin. I can also alter the vendor info. On the forums I found that the problem may lie in slugs/SEF aliases which are the same for multiple products. Is there a way to work around this? The shop has almost 7000 products of which now only 2900 are migrated into the new environment. Is there a way to skip the products with errors?

GJC Web Design

GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

chaldama


GJC Web Design

just an idea

in #___virtuemart_migration_oldtonew_ids there is a field "products_start" --  maybe try setting that one id past where the import stops?

Just a quick look at the code it seems it takes the products in  batches starting from that id

$q = 'SELECT *,`p`.product_id as product_id FROM `#__vm_product` AS `p`
         LEFT JOIN `#__vm_product_mf_xref` ON `#__vm_product_mf_xref`.`product_id` = `p`.`product_id`
         WHERE (`p`.product_id) IS NOT NULL
         GROUP BY `p`.product_id ORDER BY `p`.product_parent_id LIMIT '.$startLimit.','.$maxItems;

administrator\components\com_virtuemart\helpers\migrator.php
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

chaldama

Sorry for taking so long to reply. Unfortunately I had to deal with many hacked websites because customers neglected the updates.

Thank you for your suggestion, this works! I guess there are some products with duplicate SEFs but I keep on manually editing the starting point in the database so most products are there now.