Repository navigation
v2.21.0
·
4 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Fixed
- A model deleted and later recreated on the same table, a renamed model's old table retaken by a new model, and a model moved to another app and back are no longer read as covered (#66, ADR 0043). The scan read every app's files in registry order and never reacted to a
DeleteModel, so a recreated or retaking table got no soft-delete rule, no_updated_attrigger and, tenanted, no policy (its rows deleted outright by a rawDELETE), and a moved-back model's owned sweep kept naming the intermediate table, failing everyUPDATEof its owner, all withmakeguitarmigrations --checkgreen. It now replays the migrations in the ordermigrateruns them, each file's table events (create, rename, drop) before its headers: a drop voids what lived on the table, a rename moves every family with it and forwards a later header that still names the old name, and a name a new model takes is a new table. A file whose tables were since renamed away or dropped no longer vouches for its[DIGEST], so an identical operation set is written again.live_tables,_rekey,_chain_endsandkeep_existinggo, and so dograph.renamed_tables,renames_by_migration,moves_between_apps_by_migrationandretired_enforcement. Existing projects:makemigrations(ormakeguitarmigrations) writes the missing coverage for a history of any of the three shapes: a plainCREATEfor the table, a re-emitted sweep and owner trigger for a model moved back. Two migrations the graph leaves unordered are replayed inmigrate's order;--checknames the missing edge (ADR 0036).