Migration to version 4.x
Important
Version 3.21 started deprecation of settings and old checks and APIs. However, versions >=3.21 support BOTH the OLD and NEW way of configuring health checks to ease the migration.
- If you have
health_check.dbin yourINSTALLED_APPS, remove revert the migration to drop theTestModeltable:
python manage.py migrate db zero
- Update the dependencies, making sure to include the extras for the checks you want to use.
uv add 'django-health-check[psutil,celery,kafka,rabbitmq,redis,rss,atlassian]>=4.0.0'
-
Remove these
health_check.*sub‑apps fromINSTALLED_APPSbut keephealth_check! -
Remove all
HEALTH_CHECK_*settings from your settings file. -
Replace the URL include with the view and explicit
checkslist. Before:
# urls.py
path("ht/", include("health_check.urls"))
After (example):
# urls.py
from health_check.views import HealthCheckView
path(
"ht/",
HealthCheckView.as_view(
checks=[
"health_check.Cache",
"health_check.Database",
"health_check.Mail",
"health_check.Storage",
# 3rd party checks
"health_check.contrib.psutil.Disk",
"health_check.contrib.psutil.Memory",
"health_check.contrib.celery.Ping",
"health_check.contrib.rabbitmq.RabbitMQ",
"health_check.contrib.redis.Redis",
]
),
)
Removals and Replacements
StorageHealthCheck,DefaultFileStorageHealthCheck,S3BotoStorageHealthCheck,S3Boto3StorageHealthCheckhave been replaced with Storage.CeleryHealthCheckhas been replaced with Ping.MigrationsHealthCheckhas been removed; its functionality is covered by Django's check framework.DatabaseHealthCheckhas been replaced with Database which doesn't require a table and supports multiple database aliases.