• 
      

    Add support for ignoring certain attribute changes on a field.

    Review Request #11108 — Created Aug. 1, 2020 and submitted

    Information

    Django Evolution
    master

    Reviewers

    There are field attributes normally relevant to a column's definition
    that some fields accept that don't have any actual impact for that
    particular field. An example is ManyToManyField(null=True), which has
    historically been allowed but has since resulted in warnings.

    Django Evolution has been happy to try to apply these changes to the
    database, but that just results in bad SQL and a failed evolution.

    This change adds support for defining ignorable attributes for different
    field types. This currently only consists of null for
    ManyToManyField, but may be useful for more fields in the future.

    The signature still retains these attributes, and they're factored in
    for diffs and evolution hints. They're only ignored at the SQL
    generation level.

    Unit tests pass for all databases.

    Summary ID
    Add support for ignoring certain attribute changes on a field.
    There are field attributes normally relevant to a column's definition that some fields accept that don't have any actual impact for that particular field. An example is `ManyToManyField(null=True)`, which has historically been allowed but has since resulted in warnings. Django Evolution has been happy to try to apply these changes to the database, but that just results in bad SQL and a failed evolution. This change adds support for defining ignorable attributes for different field types. This currently only consists of `null` for `ManyToManyField`, but may be useful for more fields in the future. The signature still retains these attributes, and they're factored in for diffs and evolution hints. They're only ignored at the SQL generation level.
    fd3e5d919c605952d2d7b6a29a8c7f29019d5a88
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (812488a)