1. sandersm
  2. RO CSVI
  3. Tuesday, 31 March 2015
  4.  Subscribe via email
Hello,
I've purchased CSVImproved PRO recently. My intention has been to use it to migrate a Joomla 2.5 site running Virtuemart 2.0 to a Joomla site running Joomla 3.4.1 and Virtuemart 3.0. I've gotten CSVI to create a backup of the Virtuemart 2.0 component and I'm trying to move it to the 3.4.1 component. The products loaded fine. However, now, I'm getting the following error that I think is associated with the shoppergroups data table:
*******
1054 - Unknown column 'p.product_name' in 'where clause' SQL=SELECT p.`virtuemart_product_id`, `l`.`product_name` FROM `g07h5_virtuemart_products` as p INNER JOIN `g07h5_virtuemart_products_en_gb` as l using (`virtuemart_product_id`) LEFT JOIN `g07h5_virtuemart_product_shoppergroups` as ps ON p.`virtuemart_product_id` = `ps`.`virtuemart_product_id` LEFT JOIN `g07h5_virtuemart_product_categories` as pc ON p.`virtuemart_product_id` = `pc`.`virtuemart_product_id` WHERE ( `pc`.`virtuemart_category_id` = 40 AND ( `ps`.`virtuemart_shoppergroup_id`= "1" OR `ps`.`virtuemart_shoppergroup_id` IS NULL ) AND p.`published`="1" ) AND p.`virtuemart_product_id`!="100" AND `p`.product_name <= "U-Naturally™ Tropical Breezes" ORDER BY `p`.product_name DESC LIMIT 1
*******
I have discovered that some of the field structures in the database tables from Virtuemart 2.0 are different than the structures in Virtuemart 3.4.1 - some no longer exist, others are in different order, some are new - but, they're different. Some tables on 2.0 didn't have any records associated nor any apparent change in their structure. So, I removed them from the SQL backup. Others, like the adminmenuitems table, wouldn't work at all on 3.4.1, so, I left the original table there since the structure was different - new fields, etc. The file I restored have the following tables in it:
*******

virtuemart_adminmenuentries
virtuemart_categories
virtuemart_categories_en_gb
virtuemart_category_categories
virtuemart_category_medias
virtuemart_configs
virtuemart_medias
virtuemart_product_categories
virtuemart_product_medias
virtuemart_product_prices
virtuemart_products
virtuemart_products_en_gb
virtuemart_vendor_medias
virtuemart_vendors
virtuemart_vendors_en_gb
******
BTW, since the structures in 3.4.1 tables were different, I backed up, then dropped the tables I had in the restore. When I ran restore, it moved the products and the categories over and they show on the front end of the site. I also see the new products in the backend.

I have 3 things to report about the backup file I used to restore:
1. I couldn't get it to execute thru CSVI, so I had to go to phpmyadmin in my cpanel to run the restore (don't understand why that was, but, that's what happened.)
2. There was no delete table statements in the backup so initially, it wouldn't execute at all.
3. The Create table statements said 'create table' not 'create table if not exists'. I dropped the tables to get around this.

After the restore, I got an error that indicated an issue with the 'virtuemart_categories' table. So, I replaced it, also. I got the error that I reported above and am stuck there as I don't know what else to do to get past it.

HELP PLEASE! Your assistance is appreciated. How do I get pass this?
S.Murphy
Accepted Answer Pending Moderation
Hello,

The backup file created by CSVI via the maintenance menu is not meant to be used for a migration. CSVI is not a migration tool but a maintenance tool. The backup file is meant to be used on the site where you are importing/exporting on.

1. I couldn't get it to execute thru CSVI, so I had to go to phpmyadmin in my cpanel to run the restore (don't understand why that was, but, that's what happened.)
That is correct, it is an SQL file that is being produced. CSVI reads CSV files.

2. There was no delete table statements in the backup so initially, it wouldn't execute at all.
It is not meant to be in there.

3. The Create table statements said 'create table' not 'create table if not exists'. I dropped the tables to get around this.
That is not supposed to be in there either as it is to be used for the site it is created from.

How do I get pass this?
Let's go back to square one. Go to VirtueMart -> Tools & Tools & Migration -> Reset all tables & do a fresh install. This will delete all existing tables and recreate the correct tables for that VirtueMart version.

My intention has been to use it to migrate a Joomla 2.5 site running Virtuemart 2.0 to a Joomla site running Joomla 3.4.1 and Virtuemart 3.0.
Now you can do a product export on the Joomla 2.5 site, with that file you can do a product import on the Joomla 3 site.

If you need a full migration of all data in the old site to the new site it would be better to make a copy of the site, install VirtueMart 3 on top of your VirtueMart 2 version. VirtueMart will then update the database structure. After that you can use PhpMyAdmin to export all VirtueMart tables and import all the tables into the new Joomla 3 site. After that you install VirtueMart 3 on the new site again. Now you will have an exact copy of the VirtueMart data from Joomla 2.5 site on the Joomla 3 site.
Kind regards,

RolandD

=========================
If you use our extensions, please post a rating and a review at the Joomla! Extension Directory
  1. more than a month ago
  2. RO CSVI
  3. # 1
  • Page :
  • 1


There are no replies made for this post yet.
Be one of the first to reply to this post!