Import Order And Customer Info Into New Site

Our live site is using 4.3.4.

On a Test server I upgraded (with all the data) our site to 4.5.2.SP2 last month. Now we are getting close to going live with the new version. During the last month new orders have been placed on the Live site. What is the recommended way to get the new Order and Customer information imported into the new version.

I was thinking of using the export and import ability in cs-cart, but I read somewhere this will not import the shipment information. Is there a workaround or a better approach to ensure all order information is accurately moved over.

I am hoping to only import the delta data from the last month.

David

That's what store_import was designed for.... What version were you coming from?

Unfortunately, the last supported version of store import was 4.4.somethig (don't recall the exact version).

If you use import/export, you will get different ID's then the original and patching them up could cause you problems.

Since they don't support Store Import anymore, what is the recommended approach to do this. I would hope a manual syncing procedure exists that I can follow. Is there a procedure to do this using API calls?

The trouble is that things like order_id's, customer_ids, profile_ids, product_ids are all generated from "autoincrement" values in the tables. Hence if you use the API or import/export, those ids will be regenerated and so the customers in the orders may not match the users table.

I don't believe (but could be wrong) that the API supports using the ID's for creation of new objects. But it might.

Again, what version are you coming from?

I thought the continuation of store import carries on when you do it again, but only from the "actualization" stage, which means the data gets synced?

I thought the continuation of store import carries on when you do it again, but only from the "actualization" stage, which means the data gets synced?

Yes, if you used store_import when the site was originally sync'd. But since I don't think store_import is supported in his version, I don't think it was an option. They don't like doing store_import maintenance because it's time consuming to implement and even more time consuming to test.

It sounds like it will easier to do another upgrade process from 4.3.4 to 4.5.2 in order to get all the latest data rather than import any recent orders from the Live site. It's disappointing cs-cart does not have a process for this. Seems like a basic requirement for sites upgrading (test upgrade on test server than sync data). The Store Import feature was awesome when it existed. Bad on cs-cart for getting lazy and causing us extra work.

Agree. Note that the store_import process was iterative too. I.e. every time you actualize, you start from the beginning versus pick up where you left off. Site I'm currently working on take 10+hrs to actualize and there were several tables needed that weren't created and so had to start all over again... Size of export.sql can get huge after a couple of actualizes.... So I can literally spend a full day in wait mode and possible correct-and-start-over mode....

Actually with export/ import you will face issue with user IDs only. Small modification is required to save correct ids. If you need more inform, please contact me

After sleeping on this topic, I believe I will try and import the customer and invoice data using PHPMyAdmin export from Live site into Excel and then Excel import back into PhPMyAdmin on new site. I have done similar in the past. I know it involves multiple tables and some cleanup in Excel.

Any suggestions on doing this. I am concerned about getting the shipment information imported (what table is this data in?)

Anyone have a list of tables that the customer and invoice data is stored in. I know the obvious ones, but sometimes something is stored in an unexpected table.

David

After sleeping on this topic, I believe I will try and import the customer and invoice data using PHPMyAdmin export from Live site into Excel and then Excel import back into PhPMyAdmin on new site. I have done similar in the past. I know it involves multiple tables and some cleanup in Excel.

Any suggestions on doing this. I am concerned about getting the shipment information imported (what table is this data in?)

Anyone have a list of tables that the customer and invoice data is stored in. I know the obvious ones, but sometimes something is stored in an unexpected table.

David

We do not recommend you to do direct import of tables since many tables are linked in CS-Cart (e.g. cscart_ult_objects_sharing table always causes issues with such way of data transfer)

There's a whole raft of tables related to the orders table. Everything from shipping, payments, extra order data, users and possibly 3rd party addon data as well (like gift certificates). Also don't forget promotions in case any were used.

Also, don't forget tables like 'ult_' tables for shared objects. I have not put together a list of tables, but also be careful of schema changes between what you're exporting from to what you're importing into.

When you get your full list, please publish. Also please identify the from/to release versions as well as any schema changes that may have been required.

OK, I successfully moved over the Customer and Invoice data from the Live site to our new site. These are the tables I moved using PhPMyAdmin.

cscart_new_orders
cscart_orders
cscart_order_data
cscart_order_details
cscart_shipments
cscart_shipment_items
cscart_users
cscart_user_data
cscart_user_profiles

So far all seems to be working perfectly. Only issue I had was the cscart_order_data table was over 2 Gig by itself, I had to break it into chunks to get it over.

I want to thank EComLabs for their Update trick, without it I could never of gotten the cart upgraded through all the many versions I needed. Our database is over 18 Gig and a backup every time would not complete. Note, you have to make the modification below after each download of the next update.

To turn off the Upgrade Backup process open the app\Tygh\UpgradeCenter\App.php file and replace:

$backup_file = DataKeeper::backup(array(
'pack_name' => $backup_filename,
'compress' => 'zip',
'set_comet_steps' => false,
'move_progress' => false,
));

with

$backup_file = DataKeeper::backup(array(
'pack_name' => $backup_filename,
'compress' => 'zip',
'set_comet_steps' => false,
'move_progress' => false,
'db_tables' => array(),
));

David

Did you have to do any schema changes? I know that many of the 'text' fileds were changed to medium_blob types somewhere around the period between your versions (like 4.4.2 or so).

Yes, I first matched the database schemas for these tables.