Rebuilding Entire Store, Easiest And Best Way To Migrate?

We're planning to do a full revamp for one of our customers.

Instead of just updating the current store and add a new theme we're planning to start from scratch.
The current store is running for over 5 years. There have been lots of modifications that are obsolete. Code changes that are obsolete and probably some issues due to custom modifications.

To fix all that we Install a fresh 4.12 version. Add Unitheme. Setup everything the way we want.
So far, all good!

However, when that is done, we need to migrate all data like:
Orders / Products and all their images and options / Customers and their settings.

What whould be the best/easiest way to do this?

Thanks

We're planning to do a full revamp for one of our customers.

Instead of just updating the current store and add a new theme we're planning to start from scratch.
The current store is running for over 5 years. There have been lots of modifications that are obsolete. Code changes that are obsolete and probably some issues due to custom modifications.

To fix all that we Install a fresh 4.12 version. Add Unitheme. Setup everything the way we want.
So far, all good!

However, when that is done, we need to migrate all data like:
Orders / Products and all their images and options / Customers and their settings.

What whould be the best/easiest way to do this?

Thanks

Store migration is deprecated. So best bet is to write an SQL script that will move all data for you, or to write an import tool leveraging CS-Cart's API.

We're planning to do a full revamp for one of our customers.

Instead of just updating the current store and add a new theme we're planning to start from scratch.
The current store is running for over 5 years. There have been lots of modifications that are obsolete. Code changes that are obsolete and probably some issues due to custom modifications.

To fix all that we Install a fresh 4.12 version. Add Unitheme. Setup everything the way we want.
So far, all good!

However, when that is done, we need to migrate all data like:
Orders / Products and all their images and options / Customers and their settings.

What whould be the best/easiest way to do this?

Thanks

You can use import/export feature for this, But it will be required to make small modifications. With default import customers can be linked to orders incorrectly.

Yea and many addon developers have poor code that will mess this so called fresh store again..

It is trendy now to have addon manager / update system of their own, that basically lends you addon, you no longer get code...

Store migration is deprecated. So best bet is to write an SQL script that will move all data for you, or to write an import tool leveraging CS-Cart's API.

That will never work properly between versions due to schema changes. As Ecom says, import/export is the only portable method for migration of data. Note that there are several issues that will be problematic with import/export such as import users and orders and orders no longer related to the proper users. There will be POST processing that needs to occur to get various "linkages" correct. Mostly between orders and users but also anything else that stores user_id (gift certificates, promotions, etc.).

Yea and many addon developers have poor code that will mess this so called fresh store again..

It is trendy now to have addon manager / update system of their own, that basically lends you addon, you no longer get code...

If you choose a quality addon developer (one who's been around for a while) most likely you will get well segmented code that will have zero impact on distributed code. Disabling an addon will effectively remove it from the behaviors of the system. NO addon should EVER alter distributed code/templates unless it is custom work and well documented.. It would be rare in this day and age to need to do so.

Thanks.
So, im so far that i'm going to let go the "fresh install" idea,

Going to dupe current store to dev domain. Install new theme, setup everything, spend some days removing and cleaning all customisations not needed, but then.... What's the easiest way to re-deploy. In the meantime there will be lots of new customers and orders. Backup/restore wil cause issues for that.

I guess, duping a store but using the same Database will cause issues with themesettings for example?
Or is there a way to keep the store and dev-store in synch regarding to orders and customers in the meantime?

For example,

- create dev copy

- disable all 3rd party addons

- perform standard upgrades (core changes will be overrided by new files )

- check the result

As Ecom hinted, I'd suggest a multi-step approach.

- Clone your site to a dev site.

- Perform your upgrades and verify that things work properly (no cleanup yet other than uninstalling addons you no longe rwant to use). Keep good notes

- Backup production server

- Repeat process on your production server.

- Install new theme on your dev server and resolve any issues. Keep good notes of changes you make.

- Backup production server

- Install new theme on production server

- Re-clone your production to dev server

- Start cleanup of dev server. Keep good notes. Suggest small increments.

- As you make changes in your cleanup on dev server, backup production and then apply changes to production. Repeat this in small chunks till you're satisfied.

As you can see this is a time consuming activity and requires great care and good defenses (frequent backup of production).

Good luck.

If there was a solution to move customers carts to dev site, everything could be done with no interruptions.

At least on dev site you can prepare as restorable backups for some db setting tables, shipping methods, profile configuration.

As for me personally was no rush since December for many years I have barely any sales..

My recent upgrade experience was

- For unknown reason some smarty and html blocks ended up blank, went missing.

- since my cs-cart version is super old since 2x (using cs-cart since 1x) even on fresh install just with db restore, upgrade process was hanging. For the order status names that were not matching expected names and some incomplete settings columns in db.

- features got messed up

- has many my_changes changes, but no use of them since tpl files changed, unless you do not have overrides just using hooks

- had many upgrade attempts on dev site, apparently ~200mb db size restoring even on phpmyadmin is not flawless process (can timeout), on cs-cart restore function it ended somehow incomplete. Used 3rd party slow db restore scripts to make sure all undergone 100%.

- some addons even from 4.11.x are conflicting, chances to spot everything before going live is close to minimum. If addons are done with tpl overrides there will be problems..

How does moving cscart_user_session_products table from one site to another help with orders placed after the production site is cloned to the dev site? Note that once an order is placed, the user's cart is removed except for the 'user' area.

How does moving cscart_user_session_products table from one site to another help with orders placed after the production site is cloned to the dev site? Note that once an order is placed, the user's cart is removed except for the 'user' area.

I dont know, best way I found was to just use phinx migrations to automatically migrate all data and to just retrieve cs-carts phinx migrations when needed to migrate the production data to the new version accordingly.