Upgrading from 2.7 to 3.3

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
Il y a 9 ans
Hi everyone.  Great community.

I am a noob here and really trying to help out a friend in need.  They are currently in 2.7 and need to get to 3.3.  They are using Microsoft SQL Server Management Studio to manage their database.  I am not sure where to start.  I've had to google bits and pieces here for things, such as backing up the database.  I am not sure what I would be backing up and how to restore should I need to roll back in case something goes wrong.  I am not sure how to run the upgrade scripts, and if I need to upload new site files per version every time I run the scripts until I finally get to 3.3.  I am just concerned that I could crash the site and have no Idea how to restore it all back.

Any help would be greatly appreciated.
Il y a 9 ans
Depending on whether the site has been customized, upgrading might involve different steps. I recommend hiring professionals to do it if you are not familiar. ;)
Il y a 9 ans
typevu wrote:
Hi everyone.  Great community.

I am a noob here and really trying to help out a friend in need.  They are currently in 2.7 and need to get to 3.3.  They are using Microsoft SQL Server Management Studio to manage their database.  I am not sure where to start.  I've had to google bits and pieces here for things, such as backing up the database.  I am not sure what I would be backing up and how to restore should I need to roll back in case something goes wrong.  I am not sure how to run the upgrade scripts, and if I need to upload new site files per version every time I run the scripts until I finally get to 3.3.  I am just concerned that I could crash the site and have no Idea how to restore it all back.

Any help would be greatly appreciated.


it will be a enormous work.

1.export the data as  SQL sentence, execute SQL statement in the new database, or you can just backup it and restore.

2.update the site to 3.3 ,and find all the incompatible parts and fix it.

3.save all the backups ,just in case.
Il y a 9 ans
Hi

i followed steps below for migrating from 2.80 to 3.20. hope mostly would be same. There is no straight right or wrong answer. I am suggesting on the approach i took. Assuming you have code changes and database changes on top of base nop 2.80.

Ground Work

Write down a detailed modifications list. (Additional functions you have added on top of 2.80.)

Check with 3.10 if any of your modification is supported out of the box.

My modification count was 250 (very detailed up to estimation).

Approach

Upgrade 2.80 db to 3.20 db.
Modify 3.20 code to support new features of 2.80.

DB Upgrade

Find a good database diff tool. ex: SQL Compare.
Restore your production (2.80) DB to your dev pc and install nop 3.10 db into your dev pc as well.
Compare both DB table by table. Basically, you are going to upgrade 2.80 db to 3.10 db by comparing 3.10 schema.
Alter/Delete/Add new columns in 2.80 by comparing 3.10.
Create Store information (Store table). This is new feature in 3.10 and StoreID is needed for most other tables.
Update customer data to match 3.10 schema.
Update products information. ProductVariant table is now merged with Product table. So need to update product table.
Update Order details. OrderVariant is now OrderItem. So move the data.
Move other tables.

I used to create single SQL Script which,

Restores Production DB from a backup file.
Script block for each table which, upgrades each tables and populates data.
This gives you flexibility of run and run and again run the script if there is any error or even this is helpful during scripting.

In addition to this, if you are merging 2 or more stores in to one,

Add all store information in step 5.
Now create a separate script for each store from this point.
You need to find different sequence number for OrderId & Customer id. Can't be same.
When you add 2nd or more store, check for existing customer before adding.

Check 01

Now take a fresh 3.10 code base and run against your migrated db. All should work well if you have done migration properly.

Code Upgrade

There is significant changes to be done on code simple because there is noProductVariant table. So all the custom logic needs to be re written.

Main issue is, invoicing. If you have more than one store, there is no email setting per store basis. So have to custom modify that too.

A good approach would be,

Do all the customer side eCommerce fist.
Then do the admin side.
If customer and admin in same functionality, do together. example, custom modification on order placing work flow.
There will not be big modification needed for plugins.

Check 02

Run the migrated DB with Updated 3.10 code base. All should work.

On Big Day

Backup Production DB and Production Code base.
Run the Upgrade scripts and Replace new code base.
No 3rd Step, since you have done all the hard work before this.
Ok, if you screw up, then roll back.

Things to Note

I learned these by testing. thank god, i found them before actual migration.

There is no detailed instructions at the time we were migrating on how to setup a complete multi-store solution in nop commerce side. There is a instruction here on how to setup nop commerce in production server. but i is not covering all the aspects.

We were using VPS Server to host our platform. If you are using VPS, please beware that SNI is need to be used if you set up multi-store properly. Only IIS 8 and above supports SNI. Which means you need Windows 2012 Server. See here and here for more on SNI

We were using Pleask to manage the server. So set up master domain as primary and all other stores as alias. In IIS side, RDP in to VPS and Set up SSL for each domain using SNI feature of IIS8

Down side of SNI, it is not supported by all old browsers. See here.

Limitations

If you are using Pleask, then email wont work very well. Since email box will be created only for master domains and all other alias will share the same email accounts. So you can send a reply from alias email. unfortunately, its out of nop commerce development scope.

i haven't found a solution for this. working on this.
Il y a 6 ans
If we paid someone to upgrade from 2.8 to 3.8 what would the ball park cost be in Aus $
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.