#32838: Migrations create extra index when foreign key is also part of a unique
constraint
-------------------------------------+-------------------------------------
Reporter: Lev | Owner: nobody
Type: | Status: closed
Cleanup/optimization |
Component: Database layer | Version: 3.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: | Triage Stage:
postgres,indexes,unique | Unreviewed
constraint,foreign keys |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):
* status: new => closed
* resolution: => wontfix
Comment:
Thanks for this ticket, however it is a
[https://docs.djangoproject.com/en/3.2/ref/models/fields/#foreignkey
documented] behavior. It's also documented how to disable `ForeignKey`
indexes if you want to avoid the overhead:
''A database index is automatically created on the `ForeignKey`. You can
disable this by setting `db_index` to `False`. You may want to avoid the
overhead of an index if you are creating a foreign key for consistency
rather than joins, or if you will be creating an alternative index like a
partial or **multiple column index**.''
There are also valid cases for a separate index (see
[https://code.djangoproject.com/ticket/22125#comment:17 comment]). IMO we
shouldn't break this.
You can raise the idea on the DevelopersMailingList to reach a wider
audience and see what other think. We can re-open this ticket if we reach
consensus on the mailing list.
--
Ticket URL: <https://code.djangoproject.com/ticket/32838#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/063.a87874d81086371aac869f8d37120612%40djangoproject.com.