Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Determine if the migration can be corrected with the addition of a new migration.  This is the simplest option when it is available.
    1. Use the following types of questions to help determine whether you can roll-forward (i.e. create a new migration rather than reverting the old migration).
      1. Can the new migration handle bad data that may have been created before the new migration appears?
      2. Will the new migration cause a problem in Production (e.g. altering a large table)?
  2. If you can resolve with a new migration, do so and then communicate about the need to get and run the new migration (see below).
  3. If you need to literally revert the migration from master,  do so and then communicate about how to revert the old migration (see below).
  4. Communicate about resolving the issue in the following places (HipChat dev channel, Slack dev channel, email to edx-code@googlegroups.com):
    • A sample email might look like the following:

      Info

      The following migration was reverted from master during the last release (005_blahblah). 

      If you run into the following error on your devstack:

      (1054, "Unknown column 'commerce_commerceconfiguration.receipt_page' in 'field list'")

      You can fix it with the following:

      • git checkout 777964b9aae8a679fc4edef0d8186910777bd560
      • # revert to the earlier migration as follows...
      • ./manage.py lms --settings=devstack migrate commerce 0004
        • Answer "yes" when prompted.
      • git checkout master (or wherever you were)

      You may also need to run the following sql manually:

      • mysql -u root edxapp

      • ALTER TABLE ...;


    • If you know the error that developers are facing, include that in the HipChat/Slack messages so it can be easily found.

  5. Use the stage_edxapp_Rollback_Migrations GoCD pipeline stage to revert the migration if it has made it to stage.

Filter by label (Content by label)
showLabelsfalse
max5
spacesOpenOPS
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "OpenOPS"
labelskb-how-to-article

...