-
Notifications
You must be signed in to change notification settings - Fork 142
Description
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 TABLEsyntax. - Recognize that primary/foreign keys are informational (not enforced by default).
- Allow exporting metadata using
COMMENTclauses 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'
);