Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Snowflake Data ToolsNew to Visual Studio Code? Get it now.
Snowflake Data Tools

Snowflake Data Tools

Preview

SDT & DDT Tools

|
1 install
| (0) | Free
Declarative schema management for Snowflake. Author .sdtproj projects, extract live accounts, compare, and deploy.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Snowflake Data Tools

Marketplace Installs CLI on npm License

Your Snowflake schema as code — compare, deploy safely, roll back. Never hand-write a migration again.

See it in action · Quick start · 📚 Documentation · Features · AI features · Pricing · Report a bug

🚧 Public Beta — all features are free during the 30-day beta. AI features are bring-your-own-API-key. What happens after the beta?


See it in action

Compare your project against a live account — with a safety verdict on every change

Diff your .sql files against any live account (or a built artifact) in any direction. Every proposed change is classified SAFE, DESTRUCTIVE, EXPENSIVE, or UNRECOVERABLE — before anything touches Snowflake.

Schema Compare with per-change safety classification

Deploys that refuse to destroy data silently

Destructive operations come out blocked, as comments — they only deploy after an explicit opt-in in your project file. Turn on safety cloning and SDT pre-creates a zero-copy clone so any deploy is one command away from rollback.

Safe deploy: blocked destructive changes, opt-in gates, and rollback clones

Reverse-engineer an entire account in seconds

One command pulls every database, schema, and object into a project tree of .sql files — one file per object, ready for git.

Extract a live Snowflake account into version-controlled SQL files


Why SDT

Snowflake gives you CREATE OR ALTER TABLE as a primitive but no workflow around it — no compare engine, no safety classification, no rollback story. SDT fills that gap. You author each Snowflake object as a .sql file (a desired-state spec), and SDT computes the deltas between your project and the live account: it never asks you to hand-write forward/backward migration files. Every proposed change is classified as SAFE, DESTRUCTIVE, EXPENSIVE, or UNRECOVERABLE, and anything destructive refuses to run without an explicit opt-in. The result is a reviewable migration script plus a captured manifest you can roll back with one command.

It is, in short, what Microsoft's SQL Database Projects / SqlPackage are for SQL Server — built natively for Snowflake, cross-platform (pure Node, no .NET), and AI-aware.

Key features

Area What you get
Schema compare Diff a project, a built .sdtpac, or a live account against each other. Per-change safety classification surfaced inline.
Safe deploy Generate a migration script with destructive operations gated behind explicit opt-ins (allowDropTable, allowDropColumn, allowNarrowingTypes, …). Optional zero-copy clone pre-created for SWAP-based rollback.
Extract / reverse-engineer Pull a live Snowflake account into a project tree of .sql files — one file per object.
Projects & Suites Scaffold and edit .sdtproj projects; group several projects into a .sdtsuite for cross-project validation. Build to a portable .sdtpac artifact.
Object Explorer Browse databases, schemas, and objects from a live connection. Right-click column refactors (rename, change type, drop) that preserve identity through compare.
Lint & format A Snowflake-aware SQL formatter (format-on-save) and a lint ruleset for project hygiene.
Lineage & diagrams Column-level lineage for views, materialized views, and dynamic tables; an interactive schema diagram.
Drift check Detect when a live account has drifted from your project or pac.
Deploy history Review past deploys and their captured manifests from the activity bar.
IntelliSense Snowflake SQL grammar, snippets, and context-aware completions.
AI assist (BYO key) Sketch objects from a description, suggest safer alternatives for risky changes, and an "Ask SDT" chat panel that proposes refactor operations. See AI features.

All of this is reachable from the SDT activity-bar view (Projects, Suites, Connections, Object Explorer, Deploy History) and the command palette. Press Ctrl+K F (Cmd+K F on macOS) to Find a Feature.

Quick start

  1. Install the extension and open a folder in VS Code.
  2. Add a connection — run SDT: Add Snowflake Connection (writes a profile to ~/.sdt/profiles.json), then SDT: Test Snowflake Connection.
  3. Create a project — run SDT: New Project to scaffold a .sdtproj with the canonical databases / schemas / objects layout.
  4. Get some SQL to work with — either author objects by hand, or run SDT: Extract Snowflake Account → Project to pull a live account into .sql files.
  5. Compare — run SDT: Schema Compare to diff your project against a target. Read the safety classification on each change.
  6. Deploy — build the project (SDT: Build Project (.sdtpac)) and publish it. Destructive changes refuse to apply until you opt in explicitly.

A guided Get started with SDT walkthrough is available from the VS Code Welcome page.

AI features (bring your own key)

AI is a layer on top of the deterministic engine — every AI feature composes with the compare/safety core, so the product is fully useful without it. You supply your own API key; SDT never ships one.

Supported providers: Anthropic, OpenAI, Azure OpenAI, any OpenAI-compatible endpoint, and self-hosted models. Enterprise deployments can additionally route through Snowflake Cortex so prompts stay inside the account boundary.

What it does in the extension:

  • Sketch Object from Description — prose → idiomatic CREATE DDL with a review-before-deploy header.
  • Suggest Safer Alternative — right-click a DROP/TRUNCATE/DROP COLUMN and get a safer pattern (soft-delete, clone-then-swap, archive table).
  • Ask SDT chat panel — converse with the engine as context (project model, target metadata, last compare). It proposes rename / change-type / drop / move operations you confirm via a modal before they touch your files.

During the beta all AI features are unlocked; after the beta they live in the Pro tier (the deterministic compare/safety/lint core stays free). Configure your provider and key from the SDT settings; calls are billed by your provider, not by SDT.

Pricing & beta

This is a 30-day public beta. During the beta, every feature is free.

After the beta:

  • Free core stays free, forever — schema compare, safe deploy with the safety classifier, extract, lint, format, lineage, Object Explorer, and the interactive schema diagram.
  • Pro features keep working with warnings — there is no hard paywall that locks you out mid-workflow. Pro adds AI write-side features, multi-project/Slice+Suite ownership, and the column-refactor UX.
  • AI features are always bring-your-own-key — you pay your AI provider directly; SDT adds no inference markup.

Full tier details live on the public repo: https://github.com/GVOrganization/sdt-tools.

Documentation

📚 Full documentation — every feature, end to end:

Start Core workflow Reference
🚀 Getting started 📥 Extract · 🔍 Compare ⌨️ CLI reference
🔌 Connections 🛡️ Safe deploy · 🚦 Safety classifier 🧩 VS Code reference
📁 Projects 🔁 CI/CD · 🚚 Migrating ⚙️ Configuration · ❓ FAQ

Reporting bugs & feedback

Three channels:

  1. In VS Code — run SDT: Report a Bug… from the command palette.
  2. CLI — run sdt feedback if you have the @sdt-tools/cli installed.
  3. GitHub Issues — https://github.com/GVOrganization/sdt-tools/issues.

Privacy

SDT includes opt-in automatic error reporting. When enabled, it sends only sanitized diagnostics — error fingerprints, stack traces with paths stripped, command name, and product version. It never transmits your SQL, identifiers, table or column names, data, or credentials. Reporting is off until you consent on first run, and can be toggled at any time (sdt telemetry from the CLI). Full details: PRIVACY.md on the public repo.

Requirements & supported platforms

  • VS Code 1.90.0 or newer.
  • Node.js 20+ (only needed if you also use the sdt CLI; the extension bundles its runtime).
  • Snowflake — works against Standard, Enterprise, and Business Critical editions. The Object Explorer, extract, compare, and deploy flows need a connection profile with read access to the catalog you target (and write access to deploy).
  • OS — Windows, macOS, and Linux (pure TypeScript, no .NET dependency).

SDT + DDT

SDT has a sibling: DDT — Databricks Data Tools — the same design, CLI surface, and safety model for Databricks Unity Catalog. A team that knows one learns the other in a day.


SDT is an independent tool and is not affiliated with or endorsed by Snowflake Inc. "Snowflake" is a trademark of Snowflake Inc., used here for descriptive purposes only.

License: Apache-2.0.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft