App Maintenance¶
Adding and Removing Apps¶
Your auth project is just a regular Django project - you can add in other Django apps as desired. Most come with dedicated setup guides, but here is the general procedure:
add
'appname',
to yourINSTALLED_APPS
setting inlocal.py
run
python manage.py migrate
run
python manage.py collectstatic
restart AA with
supervisorctl restart myauth:
If you ever want to remove an app, you should first clear it from the database to avoid dangling foreign keys: python manage.py migrate appname zero
. Then you can remove it from your auth project’s INSTALLED_APPS
list.
Permission Cleanup¶
Mature Alliance Auth installations, or those with actively developed extensions may find themselves with stale or duplicated Permission models.
This can make it confusing for admins to apply the right permissions, contribute to larger queries in backend management or simply look unsightly.
python manage.py remove_stale_contenttypes --include-stale-apps
This inbuilt Django command will step through each contenttype and offer to delete it, displaying what exactly this will cascade to delete. Pay attention and ensure you understand exactly what is being removed before answering yes
.
This should only cleanup uninstalled apps, deprecated permissions within apps should be cleaned up using Data Migrations by each responsible application.