diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..1056d60 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "sql-formatter.uppercase": true, + "dbt.queryLimit": 500 +} \ No newline at end of file diff --git a/dbt_project.yml b/dbt_project.yml index 25d393f..574044b 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -35,3 +35,6 @@ models: # Config indicated by + and applies to all files under models/example/ example: +materialized: view + staging: + +materialized: table + +schema: staging diff --git a/macros/generate_schema_name.sql b/macros/generate_schema_name.sql new file mode 100644 index 0000000..d9bb818 --- /dev/null +++ b/macros/generate_schema_name.sql @@ -0,0 +1,14 @@ +{% macro generate_schema_name(custom_schema_name, node) -%} + + {%- set default_schema = target.schema -%} + {%- if custom_schema_name is none -%} + + {{ default_schema }} + + {%- else -%} + + {{ custom_schema_name | trim }} + + {%- endif -%} + +{%- endmacro %} \ No newline at end of file diff --git a/models/sources.yml b/models/sources.yml new file mode 100644 index 0000000..ab89dbe --- /dev/null +++ b/models/sources.yml @@ -0,0 +1,8 @@ +version: 2 + +sources: + - name: core + schema: sync_core + tables: + - name: user + identifier: User \ No newline at end of file diff --git a/models/staging/stg_core_user.sql b/models/staging/stg_core_user.sql new file mode 100644 index 0000000..ee7b1a9 --- /dev/null +++ b/models/staging/stg_core_user.sql @@ -0,0 +1,23 @@ +with raw_user as (select * from {{ source("core", "user") }}) +select + "Id" as id_user, + code as user_code, + "Name" as name, + email as email, + title as title, + dealid as id_deal, + deleted as is_deleted, + joindate as join_date_utc, + username as username, + codeprefix as code_prefix, + billingtown as billing_town, + companyname as company_name, + emailconfirmed as is_email_confirmed, + lockoutenabled as is_lockout_enabled, + billingpostcode as billing_postcode, + billingcountryid as id_billing_country, + twofactorenabled as is_twofactor_enabled, + accessfailedcount as access_failed_count, + lockoutenddateutc as lockout_end_date_utc, + billingcountryname as billing_country_name +from raw_user