diff --git a/docs/howto/delete-app.txt b/docs/howto/delete-app.txt new file mode 100644 index 0000000000..e1dac4f179 --- /dev/null +++ b/docs/howto/delete-app.txt @@ -0,0 +1,29 @@ +================================== +How to delete a Django application +================================== + +Django provides the ability to group sets of features into Python packages +called :doc:`applications`. When requirements change, apps +may become obsolete or unnecessary. The following steps will help you delete an +application safely. + +#. Remove all references to the app (imports, foreign keys etc.). + +#. Remove all models from the corresponding ``models.py`` file. + +#. Create relevant migrations by running :djadmin:`makemigrations`. This step + generates a migration that deletes tables for the removed models, and any + other required migration for updating relationships connected to those + models. + +#. :ref:`Squash ` out references to the app in other apps' + migrations. + +#. Apply migrations locally, runs tests, and verify the correctness of your + project. + +#. Deploy/release your updated Django project. + +#. Remove the app from :setting:`INSTALLED_APPS`. + +#. Finally, remove the app's directory. diff --git a/docs/howto/index.txt b/docs/howto/index.txt index 05a0203132..0034032ce2 100644 --- a/docs/howto/index.txt +++ b/docs/howto/index.txt @@ -31,6 +31,7 @@ you quickly accomplish common tasks. static-files/deployment windows writing-migrations + delete-app .. seealso::