News:

Looking for documentation? Take a look on our wiki

Main Menu

migration of vm1.1.9 to 2.6.0 and further

Started by nkamp, June 01, 2014, 17:16:59 PM

Previous topic - Next topic

nkamp

Hello,

I have made the migration of joomla 1.5.26+ / vm1.1.9 to joomla 2.5 with vm2.6.0. This has taken a while, a few months.

In the meantime new users have been registered on the live/production site. There is a joomla users table but there is also a virtuemart_vmusers table. Do these two tables have any relationship?
Now is my question: What is the best way to migrate that on the day that I bring the site live:

  • If the two tables, joomla users and vmsusers, don't have any relationship, then it is the best do delete all the users in the joomla users table and import the users of the production again.
  • When these two tables have a relationship, then delete the records of each table and import the records of the live site.
  • When these two tables don't have a relationship, delete all the records of joomla users, or when these two have a relationship delete all records in both tables and put a message on the site "this is a new site you have to create a new account..."

What I don't that an user is comming back and he get a message that it isn't possible to log in and another user can log in because he has earlier been registerd. Or that I delete all the records in the joomla user table, but then I get kind of conflicts because he exist still in vmusers table and not anymore in the joomla users table.

I hope that I'm clear what I mean.

Nico


GJC Web Design

Not really sure what is the "correct" answer to this but just some info for you..

You don't say if you have imported your old users orders?

But anyway - the big difference between VM2 and VM1.1 is the full integration of VM into Joomla

so yes - Joomla users and VM users are fully integrated  - i.e a VM user is a joomla user and the tables are linked by the Joomla user id

Then of course there are further linked VM user tables and of course all "order" tables are linked to users

What course you take really depends on  - are your old orders in the new one and do you want old users to have access to them?
If all you want is for old users to be able to login to the new joomla then you just need to import them (just copying the J user tables isn't enough) - there are extensions to do this

then they will be able to login at checkout but will be asked for their address etc -

if you want all your old users and orders available then you have to do a proper upgrade from J1.5 to J2.5 to bring the users in then migrate VM1.1 to your shiny new VM2 to bring the orders and (hopefully ) the users successfully linked to there Joomla user account.

Others may have further/better advice ..
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

AH

Take another copy of the product database files

Truncate the order tables and user tables in VM and Joomla

Then re-convert orders and users

You will need to make sure it works for you in test

Then do a final conversion of user and orders when you decide to switch everything over

Regards
A

Joomla 3.10.11
php 8.0

nkamp

Hello Hutson and GJC web design,

Thanks for you're reaction.
I have searching for a vm datamodel/schema. I saw there have been more people searching for.

Does anyone know if there is a datamodel/schema avalable? So that I know how the relations are.

If possible I like to migrate everything like users/orders so that the history and everything is up-to-date, but I don't know which tables exactly I have to empty and re-import again.
I think:
- joomla_users
- joomla usergroup_map
- Joomla_user_notes and joomla_user_profiles are empty.
- virtuemart_vmusers
- virtuemart_orders
- virtuemart_orders_histories
- virtuemart_orders_items
- virtuemart_orders_userinfos.

And if I don't keep the order history in the new site but I want that the customer can log in again with his account of joomla 1.5, then it is enough that I only the joomla users table re-import again, or...?

So if I make a dump of these tables of the 1.5 site and import in this new site again...

GJC Web Design

The majority (if any) of the tables you can't just import (if you mean directly into the DB with phpmyadmin etc)
the structures are completely different between J1.5/J2.2 and VM1.1/VM2.5

there are extensions for migrating Joomla users between Joomla versions

In VM2.x there is a whole set of migration tools in config->tools

There are as I am sure you are realising quite a few different ways to do this  - it is personal preference - but I have done a stack of J1.5/VM1.1 to J2.5/VM2 migrations and normally it runs very well (it is always the other extensions that cause greif..)

Make sure you have a "safety " copy of your new VM2 (clone it ) then try the various methods suggested - the VM migration tools need a copy of the vm1.1 tables in the db to work successfully - I have never tried a piece meal import of old data so it will be a bit suck and see - but if you have a play copy give it a go

you can see that just "part" of the info can be selected to import - but don't know e.g. if you import "users" does it register them in Joomla

[attachment cleanup by admin]
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

nkamp

OK, I have not used the vm migration tools but I did on the way of OS training. http://dashhelp.com/tutorials/joomla-tutorials/75-migrate-virtuemart-1-1-9-to-version-2-0-updates is the same tutorial I think. And then make a new development joomla 2.5 with vm 2.012f site. The next step what I did was make a dump of the virtuemart 2.0 tables of the joomla 1.5 site. Empty the virtuemart tables on joomla 2.5 and run the sql scripts of the virtuemart tables of joomla 1.5 into joomla 2.5 virtuemart tables.

It is still not clear to me how can I easily update the virtuemart orders/users for the new site! Joomla users is I think not a real problem, because I empty the table joomla_users of joomla 2.5 and do a migration with spupgrade again of the joomla_users.

I was forgotton that you can migrate the orders and the users independent.

I'm already working/developing a few weeks on this new site, but these development environment is not 'up to date' anymore with orders and users. In the meantime a lot of users have registered and ordered products.

BUT IF I WANT TO DO IT WITH THE MIGRATION TOOLS OF VM2.X, DO I NEED FIRST TO UPDATE JOOMLA 1.5 WITH VM 1.1.9 TO JOOMLA 2.5 WITH 2.X? Or can you migrate/port the vmusers + orders, straight from joomla 1.5 with vm 1.1.9 to joomla 2.5 with vm2.6.0? If so which tables are affected? Because I have already done a migration on dev environment and I have add the special fields again etc. So I don't want do the whole migration again. But if I use the migration tools of vm than I have first to empty the affected tables.

I don't want to do the whole migration again because I have already changed a lot. The product pictures, special fields added, another template etc. etc. And the whole migration takes a lot of time.

I'm a developer so, SQL is not a big issue.

I mean what is the easiest way and will not take more than 2 hours, just before to bring the new site live, to update the new site with the latest users and orders!!??? I think I'm not only one with this problem, or... I hope that someone can give me a good advise or solution.

Another thing is in the tutorial first joomla 1.5.26 with vm 1.1.9 must be migrated to vm2.x. What is the latest version of vm2.x that will be supported by joomla1.5? I read on virtuemart.net site that version 2.0.12f is the latest version that can be installed on joomla 1.5. Is that right?


Thanks,

Nico




AH

This thread may help

http://forum.virtuemart.net/index.php?topic=117216.msg396312#msg396312

If you want to migrate just the orders and users


Copy the old VM order and user tables over to the new database
Copy the old Joomla USER table
(This will give you the latest view of orders and users)

Run a bit of SQL to get the new Joomla user table populated from the old Joomla user table
This should work with an edit for your dbase name and table prefixes

##Migrate old Joomla registered users
TRUNCATE `newprefix_users`;
TRUNCATE `newprefix_user_usergroup_map`;


INSERT INTO
    `newdb`.`newprefix__users`
        (
            `id`,
            `name`,
            `username`,
            `email`,
            `password`,
            `usertype`,
            `block`,
            `sendEmail`,
            `registerDate`,
            `lastvisitDate`,
            `activation`,
            `params`
        )
SELECT
`id`,
`name`,
`username`,
`email`,
`password`,
REPLACE(`usertype`, 'Super Administrator', 'Super Users'),
`block`,
`sendEmail`,
`registerDate`,
`lastvisitDate`,
`activation`,
''
FROM `newdb`.`olddb_users`;

INSERT INTO
    `newdb`.`newprefix_user_usergroup_map`
SELECT
    users.`id`,
newgroups.`id`
FROM
`newdb`.`old_brs_users` users,
`newdb`.`newprefix_usergroups` newgroups
WHERE
REPLACE(users.`usertype`, 'Super Administrator', 'Super Users') = newgroups.`title`;


Then
Use the migration tool to just migrate
USERS
the
ORDERS





Regards
A

Joomla 3.10.11
php 8.0