Files
django-migration-linter/DECISIONS.md
T

13 lines
553 B
Markdown

# Architecture Decisions
## Required columns on newly created tables
**Decision.** The `NOT_NULL` SQL check accepts `ALTER TABLE ... ADD COLUMN ... NOT NULL`
only when the same migration unconditionally created that exact table. `CREATE TABLE IF
NOT EXISTS` does not prove an empty table. The migration remains
fully linted, so `RunSQL`, `RunPython`, and operations on existing tables retain their
checks.
**Rejected.** Ignoring all initial migrations or naming them as exemptions. Either option
skips unsafe operations that the linter must inspect.