DATA OPS

Snowflake Schema-Drift Guard: Block Breaking Column Changes

Polls Snowflake INFORMATION_SCHEMA on a schedule, diffs the live column layout against a stored contract snapshot, and posts a ranked Slack alert the moment a column is dropped.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires (every 30 min)
  • ActionQuery INFORMATION_SCHEMA.COLUMNS for watched schemasSnowflakeSnowflake
  • ActionLoad last accepted contract snapshotPostgreSQLPostgres
  • LogicDiff layouts; classify additive vs. breaking
  • ActionPersist new snapshot when no breaking changePostgreSQLPostgres
  • OutputPost breaking-change alert to SlackSlack

What it does

Keeps a saved "contract" of every column in your governed Snowflake schemas (name, type, nullability, ordinal) and compares the live catalog against it on each run. Additive changes (new nullable columns) pass silently; breaking changes (dropped column, type narrowed, NOT NULL added) raise an alert with the exact table and column named.

When to use it

When downstream dashboards, reverse-ETL syncs, or ML features read directly from warehouse tables and a silent column drop would break them hours before anyone notices. Ideal for a central data-platform team enforcing change discipline on shared marts.

How it works

  1. 1A schedule fires the run (e.g. every 30 minutes).
  2. 2Query `INFORMATION_SCHEMA.COLUMNS` in Snowflake for the watched schemas to get the current layout.
  3. 3Load the last accepted contract snapshot from Postgres.
  4. 4Logic step diffs the two: classify each change as additive, breaking, or none.
  5. 5If no breaking changes, persist the new snapshot to Postgres and exit.
  6. 6On a breaking change, post a Slack message listing each violation, its severity, and the prior vs. current definition.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.