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!
Hi!
Could you already manage to migrate VM1 to VM3?
If yes, could you give me some important hints?
Kind regards,
Gerald
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.
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
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
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
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
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.