﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
37018	Generated migrations should use tuples instead of lists	Daniel Quinn		"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 ([https://docs.astral.sh/ruff/ ruff]) which I think rightly [https://docs.astral.sh/ruff/rules/mutable-class-default/ 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 [https://github.com/django/django/blob/main/django/db/migrations/writer.py#L311-L323 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."	Cleanup/optimization	closed	Migrations	6.0	Normal	wontfix			Unreviewed	0	0	0	0	0	0
