SnowDDL
  • 👋Introduction
  • 🚩Getting started
  • 📋Main features
  • 🪤SnowDDL vs. Declarative DCM
  • In-depth guides
    • 👓Object identifiers
    • 📐Data types
    • 📦Object types
    • 🎭Role hierarchy
    • 🚧Permission model
    • 🔦Other guides
      • Administration user
      • Integrations
      • Inbound shares
      • Object OWNERSHIP
      • Safe & unsafe DDL
      • Dependency management
      • Short hash explained
      • Env Prefix explained
      • Team workflow
      • Limitations & workarounds
      • Fivetran
      • Airbyte
      • Encrypt user passwords
      • Iceberg Tables
  • Basic usage (CLI + YAML)
    • 💻CLI interface
    • 📦YAML configs
      • ACCOUNT PARAMETER
      • ACCOUNT POLICY
      • AGGREGATION POLICY
      • ALERT
      • AUTHENTICATION POLICY
      • BUSINESS ROLE
      • DATABASE
      • DYNAMIC TABLE
      • EVENT TABLE
      • EXTERNAL ACCESS INTEGRATION
      • EXTERNAL FUNCTION
      • EXTERNAL TABLE
      • FILE FORMAT
      • FUNCTION
      • HYBRID TABLE
      • ICEBERG TABLE
      • MASKING POLICY
      • MATERIALIZED VIEW
      • NETWORK POLICY
      • NETWORK RULE
      • PERMISSION MODEL
      • PIPE
      • PLACEHOLDER
      • PROCEDURE
      • PROJECTION POLICY
      • RESOURCE MONITOR
      • ROW ACCESS POLICY
      • SCHEMA
      • SECRET
      • SEQUENCE
      • SHARE (outbound)
      • STAGE
      • STAGE FILE
      • STREAM
      • TABLE
      • TASK
      • TECHNICAL ROLE
      • USER
      • VIEW
      • WAREHOUSE
    • 🏷️YAML placeholders
    • 📬YAML tag !include
    • 🔐YAML tag !decrypt
  • Single DB
    • 🦀Overview
  • Advanced usage (Python)
    • ⚙️Programmatic config
    • 🐍Architecture overview
      • 🔵Blueprints
      • 🟣Config
      • 🟠Parsers
      • 🟢Resolvers
      • 🔴Engine
    • 🏗️Query builder & formatter
  • Breaking changes log
    • 0.45.0 - March 2025
    • 0.41.0 - January 2025
    • 0.37.0 - December 2024
    • 0.36.0 - November 2024
    • 0.33.0 - October 2024
    • 0.27.0 - May 2024
  • Links
    • GitHub repository
    • PyPI package
    • YouTube tutorials
    • Changelog
    • LinkedIn profile
Powered by GitBook
On this page

SnowDDL vs. Declarative DCM

PreviousMain featuresNextObject identifiers

Last updated 10 months ago

In June 2024 Snowflake released native "Declarative DCM" feature. You may read more about it here:

  • Blog post with feature description and examples:

  • CREATE OR ALTER TABLE usage notes:

  • CREATE OR ALTER TASK usage notes:

This is how SnowDDL declarative approach compares with native "Declarative DCM".

Feature
SnowDDL
Declarative DCM

Object type support

Most object types are supported.

Only TABLE and TASK are supported.

Preview of specific changes before applying

Yes

No

Capable of CREATE OR REPLACE TABLE

Yes

No

Supports creation of TASKS in specific order

Yes

No

As of June 2024, "Declarative DCM" feature seems to be incomplete. We do not recommend using it in its current form. SnowDDL does not rely on it internally.

🪤
https://melbdataguy.medium.com/ci-cd-and-devops-for-snowflake-a-comprehensive-guide-9df87a24797d
https://docs.snowflake.com/en/sql-reference/sql/create-table#create-or-alter-table-usage-notes
https://docs.snowflake.com/en/sql-reference/sql/create-task#create-or-alter-task-usage-notes