Blueprints Blog Contact About

Sandbox Mode

See the result before you commit it

See the result before you commit it. No surprises. No blind runs.

ondatrasql sandbox

Mental Model

  • Production = read-only
  • Sandbox = writable copy
  • Your pipeline runs against both

You see the diff before anything is committed.

How It Works

  1. Production catalog mounted read-only
  2. Temporary sandbox catalog created
  3. Models run normally — reads from production, writes to sandbox
  4. Results compared
  5. Sandbox discarded

What Makes It Different

This is not just a query preview. It’s a full simulation.

  • Runs the entire DAG — not just one model
  • Applies schema evolution
  • Executes validation (constraints + audits)
  • Shows downstream impact

This is a real run — just not committed.

Without Sandbox

  1. Run pipeline
  2. Something breaks
  3. Debug in production

With Sandbox

  1. Preview everything
  2. See impact
  3. Then commit

What You See

For each model:

  • Row changes (added / removed / percentage)
  • Schema changes (new columns, type changes)
  • Sample diffs
  • Validation results
  • Downstream effects
╠═══ Changes ══════════════════════════════════════════════════╣
║  staging.orders                                              ║
║    Rows: 100 → 142 (+42, +42.0%)                            ║
║                                                              ║
║  mart.revenue                                                ║
║    SCHEMA EVOLUTION: + Added: region (VARCHAR)               ║
║    Rows: 5 → 6 (+1, +20.0%)                                 ║

Failures Are Safe

If a model fails:

  • Nothing is committed
  • Downstream models are not affected
  • Production never sees it

You fix it before it’s real.

Full DAG Preview

The entire pipeline executes:

[OK] raw.customers (45ms)
[OK] staging.orders (95ms)
[OK] mart.revenue (54ms)
[FAIL] mart.kpis — constraint violated: total >= 0

You see exactly where things break.

Commands

ondatrasql sandbox                # All models
ondatrasql sandbox staging.orders # One model

Maintenance commands also support preview:

ondatrasql merge sandbox
ondatrasql expire sandbox

When to Use It

  • Before deploying changes
  • After modifying SQL
  • When adding new models
  • When debugging data issues

Or simply: whenever you want certainty.

Why This Matters

Most tools run pipelines blind. You find out something broke after it’s committed.

Sandbox lets you run your pipeline before you run your pipeline.