v0.5.3 — cross-database hardening (MySQL install fix)
Cross-database hardening. The test suite previously ran only on SQLite in CI; this release adds PostgreSQL 16 and MariaDB 11.4 to CI (the suite is now connection-configurable via VIGILANCE_TEST_DB), which surfaced and fixed real bugs the other engines hit.
Fixed
- 🔴 MySQL / MariaDB install was completely broken. The
vigilance_aggregatesunique index auto-named to 65 chars — over MySQL's 64-char identifier limit (error 1059) — so migrations failed outright. PostgreSQL silently truncates and SQLite has no limit, which is why SQLite-only CI never caught it. Index names are now explicit. - PostgreSQL: float → bigint.
wait_ms/duration_mswrote Carbon-3 float milliseconds intobigintcolumns (PG rejects; MySQL/SQLite truncate). Now cast to int. - Cross-driver LIKE filters. Silenced-jobs and name/message searches used
LIKEwith class names whose backslashes are escape chars on PG/MySQL (not SQLite), so they silently failed there — newLikehelper with an explicitESCAPEclause. - Queue-depth probe. A missing
jobstable threw, and on PostgreSQL a thrown query inside a transaction aborts it —QueueDepthnow checks the table exists first.
Verified
- Full suite green on SQLite, PostgreSQL 16, MariaDB 11.4 (234 tests each).
- Worker supervisor drained real queues on the database and redis drivers; failed jobs routed to
failed_jobs; all runs captured. - Octane state-reset hook flushes the in-flight trace on
RequestReceived(no cross-request leakage).