> For the complete documentation index, see [llms.txt](https://docs.snowddl.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.snowddl.com/snowddl-vs.-declarative-dcm.md).

# SnowDDL vs. Declarative DCM

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

* Blog post with feature description and examples: <https://melbdataguy.medium.com/ci-cd-and-devops-for-snowflake-a-comprehensive-guide-9df87a24797d>
* CREATE OR ALTER TABLE usage notes: <https://docs.snowflake.com/en/sql-reference/sql/create-table#create-or-alter-table-usage-notes>
* CREATE OR ALTER TASK usage notes: <https://docs.snowflake.com/en/sql-reference/sql/create-task#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.
