As part of Deprecation Process, we will occasionally be responsible for removing an entire djangoapp and all according tables and references from a repository. In most cases, we would like to ensure the data that also existed in the djangoapp is also removed.
Step 1: Clean all code out of the djangoapp, leaving only a barebones version that has migrations and AppConfig
This removal should remove all outside code references to the djangoapp. The only exception to this is the reference to the djangoapp in
The directory for the djangoapp should still remain along with the existing migrations directory and a simplistic AppConfig if necessary.
In edx-platform, it may be necessary to skip the
test_migrations_are_in_sync test: https://github.com/edx/edx-platform/pull/21336/files#diff-6658eaaa8573ad27cfc48a2560048839R225
Merge in this PR after all tests pass and the code has the required approvals. Ensure it is deployed the production before merging in the next step.
Step 2: Create a migration that removes/drops all tables
This should be auto-generate-able since no more tables should be specified in
If in edx-platform, remove the skip for
Merge in this PR after tests pass and the code has the required approvals. Wait until it is deployed to production before merging in the next step.
Step 3: Remove djangoapp
Remove the djangoapp directory, including migrations, along with any reference to it in
Add a note to the next named release page about the tables that have been removed so the community knows to clean them up themselves. If there is a desire for the open edX community to have an automated migration to remove the app's tables, then you will want to hold off on releasing this step until the following open edX named release.
Merge in this PR after tests pass and the code has the required approvals.
If this djangoapp was accessible through django admin, there will probably be app-permissions associated with this djangoapp that will need to be removed from the app-permissions repo (edX internal only): https://github.com/edx/app-permissions
Remove all entries related to this djangoapp from the app-permissions repo.