News:

Looking for documentation? Take a look on our wiki

Main Menu

Error with user migration VM1 to VM3

Started by Mole_LR, November 28, 2014, 17:57:46 PM

Previous topic - Next topic

Mole_LR

Hi!

In VM3 Update & Migration tools when migrating users from VM1 tables to VM3 VM returns such error:
Unknown column 'params' in 'field list' SQL=INSERT INTO `table_virtuemart_userfields` ( `name`, `title`, `description`, `type`, `maxlength`, `size`, `required`, `ordering`, `cols`, `rows`, `value`, `default`, `published`, `registration`, `shipment`, `account`, `readonly`, `calculated`, `sys`, `virtuemart_vendor_id`, `params`) VALUES ( "delimiter_bankaccount"," PHPSHOP_ACCOUNT_BANK_TITLE"," "," delimiter"," 25"," 30"," 0"," 21"," "," "," "," "," 1"," 0"," 0"," 1"," 0"," 0"," 0"," 1"," " )

What could be the problem?

TNX!

gba

Hi!

Could you already manage to migrate VM1 to VM3?
If yes, could you give me some important hints?

Kind regards,
Gerald

AH

gba

A few hints

If you have sorted your products in categories in vm1 you will lose the sort sequence in vm3 (you have to recreate it manually)

Product_ids get renumbered - so if you have anything using the product_id be careful

Category_ids get renumbered - so if you have anything using the category_id be careful

If you have customfields - be careful as they do not get ported over

administrator/components/com_virtuemart/helpers/migrator.php

Your Images get tagged with the image name as the ALT field - which is very crappy for seo  so I adjusted the core code to stop this happening


foreach($filesInDir as $file){

$data = null;
$data = array('file_title' => $file['filename'],
    'virtuemart_vendor_id' => 1,
//QUORVIA removed this because the image ALT was being given the filename which is a crappy name in VM!
//       'file_description' => $file['filename'],
//     'file_meta' => $file['filename'],
    'file_url' => $file['url'] . $file['filename'],
    'media_published' => 1
);



Plugins and custom modules will not work in VM3 so make sure you have alternatives if you need them.
Regards
A

Joomla 3.10.11
php 8.0

FW

Hi,

I'm getting the exact same error:

"Unknown column 'params' in 'field list' SQL=INSERT INTO `table_virtuemart_userfields` ( `name`, `title`, `description`, `type`, `maxlength`, `size`, `required`, `ordering`, `cols`, `rows`, `value`, `default`, `published`, `registration`, `shipment`, `account`, `readonly`, `calculated`, `sys`, `virtuemart_vendor_id`, `params`) VALUES ( "delimiter_bankaccount"," PHPSHOP_ACCOUNT_BANK_TITLE"," "," delimiter"," 25"," 30"," 0"," 21"," "," "," "," "," 1"," 0"," 0"," 1"," 0"," 0"," 0"," 1"," " )"

Migrating VM 1.9 to VM 3.0.3
Using Virtuemart migration tools,
Joomla! 3.3.6
VM 3.0.3

Everything else seems to migrate fine, categories, products and media no problem.

I'm having this problem for a long time, I do the migrations first local on xampp, I've done several migrations successful but lately it gets stuck at this error when migrating shoppers.

Does anybody else get this error?
Has anybody been able to solve this?

Any hints or help would be much appreciated.

Thanks




Milbo

Actually, the migrator is not tested for vm3, lol. But one time correctly written with the vm2_3 API it just runs, besides manual written SQL, like the one above.

Go to the file \administrator\components\com_virtuemart\helpers\migrator.php line 506 and exchange the params at the end of the line against userfield_params

Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

FW

Hello Milbo,

Thanks very much for your helpful reply!

Well I've been testing the migrator for vm3 very hard, lol. ... and you're confirming I was on the right track.

I actually already changed line 506 "params" to "userfield_params" (after first trying changes in the database, like removing the 'params' column or renaming it there without success, I finally edited the migrator.php) ..

Which seems to get me a little step further ... but only to the next manual written SQL, (I believe) on line 563. It greets me with this error:

"Unknown column 'p.usertype' in 'field list' SQL=SELECT `ui`.*,`svx`.*,`p`.`id`,`p`.`username`,`p`.`name`,`p`.`password`,`p`.`usertype`,`p`.`block`,`p`.`sendEmail`,`p`.`registerDate`,`p`.`lastvisitDate`,`p`.`activation`,`p`.`params`,`p`.`lastResetTime`,`p`.`resetCount`,`vmu`.virtuemart_user_id FROM #_vm_user_info AS `ui` LEFT OUTER JOIN #_vm_shopper_vendor_xref AS `svx` ON `svx`.user_id = `ui`.user_id LEFT OUTER JOIN #_users AS `p` ON `p`.id = `ui`.user_id LEFT OUTER JOIN #_virtuemart_vmusers AS `vmu` ON `vmu`.virtuemart_user_id = `ui`.user_id WHERE (`vmu`.virtuemart_user_id) IS NULL LIMIT 0,1000

That's what I'm chewing on right now, but I'm very slow with SQL, so I'm still confused with all the Left/Right Outer/Inner Joins and 'ui's, 'svx's, 'p's and 'vmu's lol.

Any tips or pointers I'd appreciate very much!

Kind Regards,
Wolf

GJC Web Design

#6
just remove  'p.usertype'  from the code so it looks like

$jUserArray = array('id','username','name','password','block','sendEmail','registerDate',
                             'lastvisitDate','activation','params' );

2 places ~ line 555

I had another prob at line 1251 while doing orders (double single quote)

#$this->_db->setQuery('select `order_status_code` FROM `#__virtuemart_orderstates` `');//GJC
      $this->_db->setQuery('select `order_status_code` FROM `#__virtuemart_orderstates`');

if your trying to do attributes they don't work at all

I did it by a clean J2.5/VM2.6 -- migrate as normal (if this is for atts then just do products then attributes)

then upgrade to VM3

drop then copy the two tables to your new (original) VM3

jos_virtuemart_customs
jos_virtuemart_product_customfields

all worked for me
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

FW

Hello GJC,

Thanks very much! I will try that.
Also appreciate the heads up on the 'orders' and about the attributes.

I also have tried J1.5/VM1.9 to J2.5 first, but I used VM3, instead I will try your suggestion J2.5/VM2.6 first and then upgrade to VM3

This sounds very promising as I already suspected it works better in stages VM1 > VM2 > VM3, I have tried almost every other version, just not VM2.6 :)

Thanks again, I'll report back.