From 7f6ea05e10eb39bcc50867430af2c5592094c0dd Mon Sep 17 00:00:00 2001 From: jeremyyeo Date: Thu, 16 Nov 2023 10:57:34 +1300 Subject: [PATCH 1/3] add dispatch to generate_x_yaml macros --- macros/generate_model_yaml.sql | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/macros/generate_model_yaml.sql b/macros/generate_model_yaml.sql index f226536..7730fc2 100644 --- a/macros/generate_model_yaml.sql +++ b/macros/generate_model_yaml.sql @@ -1,4 +1,8 @@ -{% macro generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name="") %} +{% macro generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name) %} + {{ return(adapter.dispatch('generate_column_yaml', 'codegen')(column, model_yaml, column_desc_dict, include_data_types, parent_column_name)) }} +{% endmacro %} + +{% macro default__generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name="") %} {% if parent_column_name %} {% set column_name = parent_column_name ~ "." ~ column.name %} {% else %} @@ -20,7 +24,11 @@ {% do return(model_yaml) %} {% endmacro %} -{% macro generate_model_yaml(model_names=[], upstream_descriptions=False, include_data_types=True) %} +{% macro generate_model_yaml(model_names, upstream_descriptions, include_data_types) -%} + {{ return(adapter.dispatch('generate_model_yaml', 'codegen')(model_names, upstream_descriptions, include_data_types)) }} +{%- endmacro %} + +{% macro default__generate_model_yaml(model_names=[], upstream_descriptions=False, include_data_types=True) %} {% set model_yaml=[] %} From 9d895a654906b30b32a3542ee4b66a417c82541b Mon Sep 17 00:00:00 2001 From: jeremyyeo Date: Thu, 16 Nov 2023 11:42:35 +1300 Subject: [PATCH 2/3] move default args --- macros/generate_model_yaml.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/macros/generate_model_yaml.sql b/macros/generate_model_yaml.sql index 7730fc2..ad668fe 100644 --- a/macros/generate_model_yaml.sql +++ b/macros/generate_model_yaml.sql @@ -1,8 +1,8 @@ -{% macro generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name) %} +{% macro generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name="") %} {{ return(adapter.dispatch('generate_column_yaml', 'codegen')(column, model_yaml, column_desc_dict, include_data_types, parent_column_name)) }} {% endmacro %} -{% macro default__generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name="") %} +{% macro default__generate_column_yaml(column, model_yaml, column_desc_dict, include_data_types, parent_column_name) %} {% if parent_column_name %} {% set column_name = parent_column_name ~ "." ~ column.name %} {% else %} @@ -24,11 +24,11 @@ {% do return(model_yaml) %} {% endmacro %} -{% macro generate_model_yaml(model_names, upstream_descriptions, include_data_types) -%} +{% macro generate_model_yaml(model_names=[], upstream_descriptions=False, include_data_types=True) -%} {{ return(adapter.dispatch('generate_model_yaml', 'codegen')(model_names, upstream_descriptions, include_data_types)) }} {%- endmacro %} -{% macro default__generate_model_yaml(model_names=[], upstream_descriptions=False, include_data_types=True) %} +{% macro default__generate_model_yaml(model_names, upstream_descriptions, include_data_types) %} {% set model_yaml=[] %} From 15c470402bef5a1006e93079b897a0c3ec2804bf Mon Sep 17 00:00:00 2001 From: jeremyyeo Date: Thu, 16 Nov 2023 12:32:46 +1300 Subject: [PATCH 3/3] dispath all the things --- macros/create_base_models.sql | 4 ++++ macros/generate_base_model.sql | 4 ++++ macros/generate_model_import_ctes.sql | 6 +++++- macros/generate_source.sql | 6 ++++-- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/macros/create_base_models.sql b/macros/create_base_models.sql index d5b448c..fd8ebcf 100644 --- a/macros/create_base_models.sql +++ b/macros/create_base_models.sql @@ -1,4 +1,8 @@ {% macro create_base_models(source_name, tables) %} + {{ return(adapter.dispatch('create_base_models', 'codegen')(source_name, tables)) }} +{% endmacro %} + +{% macro default__create_base_models(source_name, tables) %} {% set source_name = ""~ source_name ~"" %} diff --git a/macros/generate_base_model.sql b/macros/generate_base_model.sql index bc6129a..ec7b9c9 100644 --- a/macros/generate_base_model.sql +++ b/macros/generate_base_model.sql @@ -1,4 +1,8 @@ {% macro generate_base_model(source_name, table_name, leading_commas=False, case_sensitive_cols=False, materialized=None) %} + {{ return(adapter.dispatch('generate_base_model', 'codegen')(source_name, table_name, leading_commas, case_sensitive_cols, materialized)) }} +{% endmacro %} + +{% macro default__generate_base_model(source_name, table_name, leading_commas, case_sensitive_cols, materialized) %} {%- set source_relation = source(source_name, table_name) -%} diff --git a/macros/generate_model_import_ctes.sql b/macros/generate_model_import_ctes.sql index 0971489..7ed8e67 100644 --- a/macros/generate_model_import_ctes.sql +++ b/macros/generate_model_import_ctes.sql @@ -1,4 +1,8 @@ -{% macro generate_model_import_ctes(model_name, leading_commas = false) %} +{% macro generate_model_import_ctes(model_name, leading_commas = False) %} + {{ return(adapter.dispatch('generate_model_import_ctes', 'codegen')(model_name, leading_commas)) }} +{% endmacro %} + +{% macro default__generate_model_import_ctes(model_name, leading_commas) %} {%- if execute -%} {%- set nodes = graph.nodes.values() -%} diff --git a/macros/generate_source.sql b/macros/generate_source.sql index 31fd3e7..3feabc1 100644 --- a/macros/generate_source.sql +++ b/macros/generate_source.sql @@ -13,9 +13,11 @@ {% endmacro %} - ---- {% macro generate_source(schema_name, database_name=target.database, generate_columns=False, include_descriptions=False, include_data_types=True, table_pattern='%', exclude='', name=schema_name, table_names=None, include_database=False, include_schema=False) %} + {{ return(adapter.dispatch('generate_source', 'codegen')(schema_name, database_name, generate_columns, include_descriptions, include_data_types, table_pattern, exclude, name, table_names, include_database, include_schema)) }} +{% endmacro %} + +{% macro default__generate_source(schema_name, database_name, generate_columns, include_descriptions, include_data_types, table_pattern, exclude, name, table_names, include_database, include_schema) %} {% set sources_yaml=[] %} {% do sources_yaml.append('version: 2') %}