mix threadline.verify_coverage (Threadline v0.5.0)

Copy Markdown View Source

Verifies that tables listed in application config have Threadline audit triggers installed, using the same catalog queries as Threadline.Health.trigger_coverage/1.

Configuration

Hosts must set a non-empty list of public table names (strings only):

config :threadline, :verify_coverage,
  expected_tables: ["users", "posts"]

Usage

mix threadline.verify_coverage
mix threadline.verify_coverage --schema=NAME

Prints a TABLE / STATUS report to stdout, then a line containing summary: with counts. Exits with status 1 if any expected table is missing or uncovered; exits 0 when all expected tables are covered.

Table names in output are public-schema metadata only (same scope as Health).

Schema scope (Phase 66)

By default, this task verifies the "public" schema. Pass --schema=NAME to verify a non-public schema (e.g. mix threadline.verify_coverage --schema=tenant_42). NAME is validated at the edge (regex + pg_namespace lookup); invalid input exits 1 via Mix.raise/1.