#37018 new Cleanup/optimization

Generated migrations should use tuples instead of lists

Reported by: Daniel Quinn Owned by:
Component: Migrations Version: 6.0
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When running makemigrations, the typical output contains a Migration class with at least two attributes: dependencies and operations, both of which are mutable lists rather than immutable tuples. This upsets my linter (ruff) which I think rightly complains that we've got a class here with mutable default values:

error[RUF012]: Mutable default value for class attribute
  --> plugins/generic_to_clickhouse/migrations/0001_initial.py:13:20
   |
11 |     initial = True
12 |
13 |     dependencies = []
   |                    ^^
14 |
15 |     operations = (
   |
help: Consider initializing in `__init__` or annotating with `typing.ClassVar`

Digging through the source, I see that this is just the result of a hard-coded template using [ instead of (, so I have to assume that a fix would be pretty straightforward.

So unless there's a reason we want these values to be mutable, I'm happy to do this work. I just don't want to do the work and have it rejected for unforseen reasons.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top