#36592: Incorrect warning when specifying a UniqueConstraint with SQLite and
nulls_distinct=True
-------------------------------------+-------------------------------------
     Reporter:  r-owen               |                     Type:  Bug
       Status:  new                  |                Component:  Database
                                     |  layer (models, ORM)
      Version:  5.2                  |                 Severity:  Normal
     Keywords:  SQLite               |             Triage Stage:
  UniqueConstraint                   |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
 I am trying to create a UniqueConstraint with `nulls_distinct=False`. This
 will be used with sqlite for local use and tests, and postgresql for
 production.

 When I migrate my sqlite database I get this warning:
 ```
 SQLite does not support unique constraints with nulls distinct.
 ```
 I suspect this is a bug, since I specified that nulls should not be
 distinct.

 Note that I also get the same warning if I specify `nulls_distinct=True`,
 but in that case I expect to see it.

 Here is the simplest model I could come up with that shows the issue:
 ```
 class SimpleModel(models.Model):
     field_a = models.IntegerField(null=True)
     field_b = models.IntegerField(null=True)

     class Meta:
         constraints = [
             UniqueConstraint(
                 name="simple_unique_constraint",
                 fields=["field_a", "field_b"],
                 nulls_distinct=False,
             ),
         ]
 ```
 The full warning I see on migration is:
 ```
 WARNINGS:
 dances.SimpleModel: (models.W047) SQLite does not support unique
 constraints with nulls distinct.
         HINT: A constraint won't be created. Silence this warning if you
 don't care about it.
 ```
 and, as I said before, I get the same warning if I use
 `nulls_distinct=True` (which is when I expect to see the warning).
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36592>
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 visit 
https://groups.google.com/d/msgid/django-updates/0107019911df0349-1c03cdda-124d-4417-9a36-4a091edd05a2-000000%40eu-central-1.amazonses.com.

Reply via email to