Migrating from Native to Tutor and adapting the imported data

I have already posted the same topic on Tutor’s discourse. I am posting here too in order to be seen by more eyes and possibly get more suggestions.

When installing Tutor for the first time, it wants to create very specific sites for dev and openedx with site_id =1 and site_id = 2. This is the case at least in the openedx, ecommerce and discovery databases.

While migrating from Native to Tutor, you might wish to import your old data and this will cause some conflicts with the newest specific sites for dev and openedx created as part of Tutor’s installation.

I wonder how Open edX instances that previously ran under Native fixed or worked around that problem?

For example, all records in all of our tables in our native environment would currently use a site_id = 1, but that site_id in Tutor is now site_id = 2 because site_id = 1 is reserved for the dev environment created as part of Tutor’s installation. It would either require modifying the records in some tables to use 2 instead of 1 or change the order and role of different site_id in the django_site or other tables where they are defined.

Any suggestions?

I perfectly understand this would not be a concern at all if you start from scratch as a new Open edX instance, but there are instances out there that need to port their data from Native to Tutor. This might be a bump in the road.

4 Likes

Hi,
got same thoughts there. We just try to migrate from native to tutor. Our site_id=5, 6 etc.
So, it needs to be changed in common.py.
But maybe in tutor site_id need to be 1 or 2 stricktly? What do you think?