SQLite · alpha
critical
CN · Constraints & keys
free in the CLI — --engine=sqlite
ADD COLUMN GENERATED ... STORED
Critical — SQLite refuses the statement, so the migration fails here.
What it catches
A STORED generated column cannot be added with ALTER TABLE — SQLite only allows VIRTUAL generated columns there ("cannot add a STORED column"). The statement fails; nothing is added.
Fires on
ALTER TABLE orders ADD COLUMN total_cents INTEGER GENERATED ALWAYS AS (qty * unit_cents) STORED;Do this instead
Declare the generated column VIRTUAL, which ALTER TABLE accepts and which costs nothing at write time. A STORED column belongs in CREATE TABLE — for an existing table that means a rebuild.
ALTER TABLE orders ADD COLUMN total_cents INTEGER GENERATED ALWAYS AS (qty * unit_cents) VIRTUAL;Catch this before it ships
SQLite support is in alpha: this rule runs locally in the free CLI, static only, and not in the hosted service yet: npx bolvrk check migration.sql --engine=sqlite