X Tutup
Skip to content

Re: Snowflake Output #397

@douglasdayza

Description

@douglasdayza

Is your feature request related to a problem? Please describe.

Yes. I often use ERD (Entity Relationship Diagram) tools to model data structures visually, but I get frustrated when these tools only support generic SQL output or are tailored to specific databases like MySQL, PostgreSQL, or Oracle. As a Snowflake user, I waste time modifying the generated SQL to meet Snowflake’s syntax and architectural conventions, especially around data types, constraints, and table creation practices.


Describe the solution you'd like

I would like the ERD software to natively support Snowflake SQL as a database target. Specifically, the tool should:

  • Export DDL in Snowflake-compatible syntax.
  • Support Snowflake-specific data types like VARIANT, ARRAY, OBJECT.
  • Use Snowflake’s preferred CREATE OR REPLACE TABLE syntax.
  • Recognize that primary/foreign keys are informational (not enforced by default).
  • Allow exporting metadata using COMMENT clauses on tables and columns.
  • Optionally allow configuration of Snowflake-specific features like clustering keys or masking policies.

This would eliminate tedious manual edits and speed up the design-to-deployment workflow.


Describe alternatives you've considered

  • Manually rewriting the generated SQL: Functional but time-consuming and error-prone.
  • Using dbt or hand-coded DDL directly in Snowflake: Powerful but lacks the collaborative, visual modeling benefits of ERD tools.
  • Using diagramming-only tools like Lucidchart or Draw.io: Good for visuals, but no automatic SQL output.

Additional context

As Snowflake continues to grow in popularity as a cloud data platform, more teams are using visual data modeling tools for agile schema design. Native Snowflake support in ERD tools would streamline adoption and improve productivity.

Example output desired:

CREATE OR REPLACE TABLE customers (
    customer_id NUMBER,
    name STRING,
    signup_date DATE,
    preferences OBJECT,
    COMMENT = 'Customer profile data including preferences'
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      X Tutup