diff --git a/CHANGELOG.md b/CHANGELOG.md index c279514..12acfbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Every user-facing change should have an entry in this changelog. Please respect ## Unreleased +- [Bugfix] Add migration to "upgrade_from_maple" function ([#689](https://github.com/overhangio/tutor/issues/689)). (by @ibrmora) + ## v14.0.0 (2022-06-09) - 💥[Feature] Upgrade to Nutmeg: (by @regisb) diff --git a/tutor/commands/upgrade/k8s.py b/tutor/commands/upgrade/k8s.py index 60ebe6e..0cce122 100644 --- a/tutor/commands/upgrade/k8s.py +++ b/tutor/commands/upgrade/k8s.py @@ -129,6 +129,11 @@ def upgrade_from_maple(context: Context, config: Config) -> None: "app.kubernetes.io/name=lms", ) k8s.wait_for_pod_ready(config, "lms") + + # Command backpopulate_user_tours + k8s.kubectl_exec( + config, "lms", ["sh", "-e", "-c", "./manage.py lms migrate user_tours"] + ) k8s.kubectl_exec( config, "lms", ["sh", "-e", "-c", "./manage.py lms backpopulate_user_tours"] ) @@ -140,9 +145,24 @@ def upgrade_from_maple(context: Context, config: Config) -> None: "app.kubernetes.io/name=cms", ) k8s.wait_for_pod_ready(config, "cms") + + # Command backfill_course_tabs + k8s.kubectl_exec( + config, "cms", ["sh", "-e", "-c", "./manage.py cms migrate contentstore"] + ) + k8s.kubectl_exec( + config, + "cms", + ["sh", "-e", "-c", "./manage.py cms migrate split_modulestore_django"], + ) k8s.kubectl_exec( config, "cms", ["sh", "-e", "-c", "./manage.py cms backfill_course_tabs"] ) + + # Command simulate_publish + k8s.kubectl_exec( + config, "cms", ["sh", "-e", "-c", "./manage.py cms migrate course_overviews"] + ) k8s.kubectl_exec( config, "cms", ["sh", "-e", "-c", "./manage.py cms simulate_publish"] ) diff --git a/tutor/commands/upgrade/local.py b/tutor/commands/upgrade/local.py index 1fecbc3..b92f78a 100644 --- a/tutor/commands/upgrade/local.py +++ b/tutor/commands/upgrade/local.py @@ -103,14 +103,39 @@ def upgrade_from_maple(context: click.Context, config: Config) -> None: click.echo(fmt.title("Upgrading from Maple")) # The environment needs to be updated because the management commands are from Nutmeg tutor_env.save(context.obj.root, config) + # Command backpopulate_user_tours + context.invoke( + compose.run, + args=["lms", "sh", "-e", "-c", "./manage.py lms migrate user_tours"], + ) context.invoke( compose.run, args=["lms", "sh", "-e", "-c", "./manage.py lms backpopulate_user_tours"], ) + # Command backfill_course_tabs + context.invoke( + compose.run, + args=["cms", "sh", "-e", "-c", "./manage.py cms migrate contentstore"], + ) + context.invoke( + compose.run, + args=[ + "cms", + "sh", + "-e", + "-c", + "./manage.py cms migrate split_modulestore_django", + ], + ) context.invoke( compose.run, args=["cms", "sh", "-e", "-c", "./manage.py cms backfill_course_tabs"], ) + # Command simulate_publish + context.invoke( + compose.run, + args=["cms", "sh", "-e", "-c", "./manage.py cms migrate course_overviews"], + ) context.invoke( compose.run, args=["cms", "sh", "-e", "-c", "./manage.py cms simulate_publish"],