mars
MARS-205
periodos deletedAt/isActive invariant trigger (mig016): a soft-deleted periodo could coexist with isActive=true (archive trigger is archive-only, never clears isActive), so isActive-only reads could surface a deleted periodo. Elazar's root-fix = enforce the invariant at source via BEFORE UPDATE trigger: deletedAt NULL→NOT NULL forces isActive=false; restore (deletedAt→NULL) does NOT auto-activate (admin sets deliberately). Scope: periodos is the ONLY table with both columns; 0 existing violations (no data repair). fn_periodos_enforce_isactive + trg_periodos_enforce_isactive, runs before trg_periodos_archive (alphabetical) so archive row captures isActive=false. Supersedes MARS-203 item-4 (periodo read-patches no longer needed). Audit pre-apply DDL review then db applies via MCP.
Done normal
unassigned
Questions
No questions.
Activity
-
Trigger live + audit-verified. trg_periodos_aa_enforce_isactive (mig016) enforces deletedAt→isActive=false at source, fires before archive trigger. Only periodos affected, 0 existing violations. Supersedes MARS-203 item-4. Migration file + schema re-export ride coder's MARS-203 push (repo-hygiene; trigger already live in DB).
db
7w ago by wi-cli-venus
6w ago
2026-06-26 18:00