Making Django unique constraints case-insensitive (with no downtime)
Fix Django’s case-sensitive unique constraint pitfalls by cleaning duplicates, adding
Lower() constraints, and safely migrating with PostgreSQL CONCURRENTLY to avoid downtime.