# Migration from Native to Tutor (Lilac)

**URL:** <https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183>\
**Category:** Tutor Help\
**Tags:** tutor\
**Created:** [August 30, 2022, 1:47pm UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183 "2022-08-30T13:47:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![erickhgm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/erickhgm/32/3538_2.png) [@erickhgm](https://discuss.openedx.org/u/erickhgm)\
**Post date:** [August 30, 2022, 1:47pm UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183/1 "2022-08-30T13:47:34Z")

</div>

Hello folks! How are you?

I’m working on a migration, the first step is to migrate from `Native` to `Tutor` and the second step is to migrate from `Lilac` to `Olive` (already using Tutor).

**My question is** :  
Should I use Tutor `12.2.0` (last version with Lilac) or use Tutor `14.0.5` and change the value of `OPENEDX_COMMON_VERSION` from `open-release/nutmeg.2` to `open-release/lilac.2`?

I believe I should use `12.2.0` because we have changes in the OpenedX architecture/components between Lilac and Maple/Olive. So, if I use Tutor `14.0.5`, it will try to install OpenedX Lilac using the Olive docker-compose and it won’t work.

**Does anyone have any other observations/notes about this process?**

---

<div class="post-metadata">

**Author:** ![uetuluk](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/uetuluk/32/3015_2.png) [@uetuluk](https://discuss.openedx.org/u/uetuluk)\
**Post date:** [September 1, 2022, 5:17am UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183/2 "2022-09-01T05:17:11Z")

</div>

I would like to add that you will need to create plugins for the config changes to the native `lms.env.json` and `cms.env.json`.  
You will need to create v0 .yaml plugins on 12.2.0 and then upgrade to v1 .py plugins with Maple 13.\*.

---

<div class="post-metadata">

**Author:** ![erickhgm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/erickhgm/32/3538_2.png) [@erickhgm](https://discuss.openedx.org/u/erickhgm)\
**Post date:** [September 1, 2022, 2:46pm UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183/3 "2022-09-01T14:46:36Z")

</div>

Thank you @uetuluk!

Have you already migrated an OpenedX database?  
Technically, Will the Django migrations do the work?

Eg.: Lilac → Maple or Lilac → Nutmeg

---

<div class="post-metadata">

**Author:** ![uetuluk](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/uetuluk/32/3015_2.png) [@uetuluk](https://discuss.openedx.org/u/uetuluk)\
**Post date:** [September 2, 2022, 3:22am UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183/4 "2022-09-02T03:22:48Z")

</div>

We did not do a native to Tutor database migration, so I cannot help you with that.

However, you can check the posts by [sambapete](https://discuss.openedx.org/u/sambapete). He has several topics about database migrations from Native to Tutor.

---

<div class="post-metadata">

**Author:** ![lpm0073](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/lpm0073/32/45_2.png) [@lpm0073](https://discuss.openedx.org/u/lpm0073)\
**Post date:** [March 24, 2023, 4:49pm UTC](https://discuss.openedx.org/t/migration-from-native-to-tutor-lilac/8183/5 "2023-03-24T16:49:23Z")

</div>

Actually, there are many considerations. Please refer to the logic in this [Cookiecutter migration tool](https://github.com/cookiecutter-openedx/cookiecutter-openedx-devops/blob/main/%7B%7Bcookiecutter.github_repo_name%7D%7D/scripts/migrate-native-to-tutor.sh) for migrating to a tutor-based platform from any native build (Lilac or older).

Data sets that this tools handles:

- storage data in aws s3 bucket(s)
- mysql data
- mongo data

Things that this tool does:

1. provides technical how-to regarding the best way to backup your existing data from your native build
2. initializing tutor correctly in your local environment, so that it actually does what you need it to do
3. importing your mysql and mongo data to tutor, which is a lot more technically arcane that might seem
4. outlining the exact sequence of tutor versions that you’ll need to run, along with each set of tutor commands, in order to get from your current open edx version to one that tutor can take care of automatically (ie Nutmeg or later)
5. if necessary, how to move your upgraded mysql and mongo data from the local tutor installation to their final respective remote server hosts. this is also pretty arcane
6. how to validate that your databases were correctly upgraded
7. things that you need to do in open edx afterwards in order to ensure that everything runs smoothly
