DATA OPS

Nightly Snowflake schema drift watcher with Linear migration ticket

Every night, snapshots the column-level schema of your tracked Snowflake tables, diffs it against yesterday's snapshot.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionQuery INFORMATION_SCHEMA.COLUMNS for tracked tablesSnowflakeSnowflake
  • ActionLoad prior snapshot baselinePostgreSQLPostgres
  • LogicDiff columns; classify additive vs breaking
  • ActionOpen Linear migration ticket on breaking changeLinearLinear
  • OutputPersist new snapshot as next baselinePostgreSQLPostgres

What it does

This workflow keeps a running fingerprint of every tracked Snowflake table's columns, types, and nullability. Each night it compares the fresh fingerprint to the last stored one. Additive changes (new nullable columns) are logged quietly; breaking changes — a dropped column, a narrowed type, or a column that became NOT NULL — open a Linear ticket so a migration is scheduled before downstream jobs break.

When to use it

Use it when upstream tables are owned by another team or a third-party ELT tool and change without warning, and your dbt models or BI dashboards silently break the next morning. It turns a 9am Slack fire drill into a triaged ticket waiting in your sprint.

How it works

  1. 1A nightly schedule fires the run.
  2. 2It queries `INFORMATION_SCHEMA.COLUMNS` in Snowflake for every tracked table.
  3. 3It loads the previous snapshot from Postgres and diffs column names, types, and nullability.
  4. 4A logic step classifies each change as additive or breaking.
  5. 5If any breaking change exists, it opens a Linear issue with the table, the diff, and a suggested migration.
  6. 6It writes the new snapshot back to Postgres as the next baseline.

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 LinearIssues, projects, cycles, triage.
  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.