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
  1. In-depth guides

Object types

Object types are sorted in execution order. See explanation after the table.

Object type
CREATE
COMPARE
DROP
Notes

ACCOUNT_PARAMETER

N/A

UNSAFE +

N/A

ACCOUNTADMIN, skip on empty config

RESOURCE_MONITOR

UNSAFE

UNSAFE

UNSAFE

ACCOUNTADMIN

WAREHOUSE

SAFE

SAFE

SAFE

ACCOUNTADMIN to assign RESOURCE_MONITOR

WAREHOUSE_ROLE

SAFE

SAFE

SAFE

DATABASE

SAFE

UNSAFE

UNSAFE

SCHEMA

SAFE

UNSAFE

UNSAFE

SCHEMA_ROLE

SAFE

SAFE

SAFE

SECRET

SAFE

SAFE

SAFE

NETWORK_RULE

SAFE

SAFE and UNSAFE

UNSAFE

ALTER is safe, REPLACE is unsafe

EXTERNAL_ACCESS_INTEGRATION

SAFE

SAFE

SAFE

FILE_FORMAT

SAFE

SAFE

SAFE

Short hash

STAGE

SAFE

SAFE and UNSAFE

UNSAFE

SEQUENCE

SAFE

SAFE

UNSAFE

FUNCTION

SAFE

SAFE

SAFE

Short hash

EXTERNAL_FUNCTION

SAFE

SAFE

SAFE

Short hash

PROCEDURE

SAFE

SAFE

SAFE

Short hash

TABLE

SAFE

SAFE and UNSAFE +

UNSAFE

EVENT_TABLE

SAFE

SAFE and UNSAFE

UNSAFE

HYBRID_TABLE

SAFE

UNSAFE

UNSAFE

Short hash

DYNAMIC_TABLE

SAFE

SAFE and UNSAFE

UNSAFE

EXTERNAL_TABLE

SAFE

SAFE

SAFE

Short hash

PRIMARY_KEY

SAFE

SAFE

SAFE

UNIQUE_KEY

SAFE

SAFE

SAFE

FOREIGN_KEY

SAFE

SAFE

SAFE

MATERIALIZED_VIEW

SAFE

UNSAFE

UNSAFE

VIEW

SAFE

SAFE

SAFE

PIPE

SAFE

UNSAFE

UNSAFE

Short hash

STREAM

SAFE

UNSAFE

UNSAFE

TASK

SAFE

SAFE

SAFE

Short hash

ALERT

SAFE

SAFE

SAFE

SHARE (outbound)

UNSAFE +

UNSAFE +

UNSAFE +

TECHNICAL_ROLE

SAFE

SAFE

SAFE

BUSINESS_ROLE

SAFE

SAFE

SAFE

USER_ROLE

SAFE

SAFE

SAFE

USER

SAFE

UNSAFE

UNSAFE

AGGREGATION_POLICY

UNSAFE +

UNSAFE +

UNSAFE +

AUTHENTICATION_POLICY

UNSAFE +

UNSAFE +

UNSAFE +

MASKING_POLICY

UNSAFE +

UNSAFE +

UNSAFE +

NETWORK_POLICY

UNSAFE

UNSAFE

UNSAFE

PROJECTION_POLICY

UNSAFE +

UNSAFE +

UNSAFE +

ROW_ACCESS_POLICY

UNSAFE +

UNSAFE +

UNSAFE +

Notes

  • ACCOUNTADMIN note means that only user with this role can apply this change. It should be applied by human administrator manually or by SnowDDL user having this role automatically.

  • In some cases both "safe" and "unsafe" changes can be applied to the same object type and operation type. Please refer to specific object type documentation for more details.

PreviousData typesNextRole hierarchy

Last updated 4 months ago

Safe & unsafe operations are explained in .

Some role types are generated dynamically. You may read more in .

+ means that additional setting or might be required to apply this change.

Short hash note means that objects of this type will have a short hash added to comment. It is explained in .

ðŸ“Ķ
"Safe & unsafe DDL" guide
Role hierarchy guide
CLI argument
Short hash guide