From 43820f31ab4a03adffe31fe222b8aedff595dc7b Mon Sep 17 00:00:00 2001 From: fivetran-reneeli Date: Thu, 11 Jan 2024 11:17:05 -0600 Subject: [PATCH] add core company table part 1 --- dbt_project.yml | 1 + integration_tests/dbt_project.yml | 1 + .../stg_servicenow__core_company_base.sql | 12 ++++ models/staging/src_servicenow.yml | 64 +++++++++++++++++++ .../staging/stg_servicenow__core_company.sql | 33 ++++++++++ 5 files changed, 111 insertions(+) create mode 100644 models/staging/base/stg_servicenow__core_company_base.sql create mode 100644 models/staging/stg_servicenow__core_company.sql diff --git a/dbt_project.yml b/dbt_project.yml index ce0e35f..acc17c6 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -22,3 +22,4 @@ vars: incident: "{{ source('servicenow','incident') }}" change_task: "{{ source('servicenow','change_task') }}" change_request: "{{ source('servicenow','change_request') }}" + core_company: "{{ source('servicenow','core_company') }}" diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index fb7cb16..62d9530 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -19,6 +19,7 @@ vars: servicenow_incident_identifier: "incident_data" servicenow_change_task_identifier: "change_task_data" servicenow_change_request_identifier: "change_request_data" + servicenow_core_company_identifier: "core_company_data" seeds: +quote_columns: "{{ true if target.type in ('redshift','postgres') else false }}" diff --git a/models/staging/base/stg_servicenow__core_company_base.sql b/models/staging/base/stg_servicenow__core_company_base.sql new file mode 100644 index 0000000..d42cb03 --- /dev/null +++ b/models/staging/base/stg_servicenow__core_company_base.sql @@ -0,0 +1,12 @@ +{{ + fivetran_utils.union_data( + table_identifier='core_company', + database_variable='servicenow_database', + schema_variable='servicenow_schema', + default_database=target.database, + default_schema='servicenow', + default_variable='core_company', + union_schema_variable='servicenow_union_schemas', + union_database_variable='servicenow_union_databases' + ) +}} diff --git a/models/staging/src_servicenow.yml b/models/staging/src_servicenow.yml index 45777e3..52ec078 100644 --- a/models/staging/src_servicenow.yml +++ b/models/staging/src_servicenow.yml @@ -739,3 +739,67 @@ sources: - name: unauthorized description: '{{ doc("unauthorized") }}' + - name: core_company + identifier: '{{ var("servicenow_core_company_identifier", "task") }}' + description: '{{ doc("core_company") }}' + columns: + - name: sys_id + description: '{{ doc("sys_id") }}' + - name: _fivetran_deleted + description: '{{ doc("_fivetran_deleted") }}' + - name: _fivetran_synced + description: '{{ doc("_fivetran_synced") }}' + - name: city + description: '{{ doc("city") }}' + - name: contact_link + description: '{{ doc("contact_link") }}' + - name: contact_value + description: '{{ doc("contact_value") }}' + - name: country + description: '{{ doc("country") }}' + - name: customer + description: '{{ doc("customer") }}' + - name: discount + description: '{{ doc("discount") }}' + - name: fax_phone + description: '{{ doc("fax_phone") }}' + - name: fiscal_year + description: '{{ doc("fiscal_year") }}' + - name: name + description: '{{ doc("name") }}' + - name: notes + description: '{{ doc("notes") }}' + - name: num_employees + description: '{{ doc("num_employees") }}' + - name: parent_link + description: '{{ doc("parent_link") }}' + - name: parent_value + description: '{{ doc("parent_value") }}' + - name: phone + description: '{{ doc("phone") }}' + - name: state + description: '{{ doc("state") }}' + - name: street + description: '{{ doc("street") }}' + - name: sys_class_name + description: '{{ doc("sys_class_name") }}' + - name: sys_created_by + description: '{{ doc("sys_created_by") }}' + - name: sys_created_on + description: '{{ doc("sys_created_on") }}' + - name: sys_mod_count + description: '{{ doc("sys_mod_count") }}' + - name: sys_updated_by + description: '{{ doc("sys_updated_by") }}' + - name: sys_updated_on + description: '{{ doc("sys_updated_on") }}' + - name: vendor + description: '{{ doc("vendor") }}' + - name: vendor_manager + description: '{{ doc("vendor_manager") }}' + - name: vendor_type + description: '{{ doc("vendor_type") }}' + - name: website + description: '{{ doc("website") }}' + - name: zip + description: '{{ doc("zip") }}' \ No newline at end of file diff --git a/models/staging/stg_servicenow__core_company.sql b/models/staging/stg_servicenow__core_company.sql new file mode 100644 index 0000000..febaabb --- /dev/null +++ b/models/staging/stg_servicenow__core_company.sql @@ -0,0 +1,33 @@ + +with base as ( + + select * + from {{ ref('stg_servicenow__core_company_base') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_servicenow__core_company_base')), + staging_columns=get_core_company_columns() + ) + }} + {{ fivetran_utils.source_relation( + union_schema_variable='servicenow_union_schemas', + union_database_variable='servicenow_union_databases') + }} + from base +), + +final as ( + + select + source_relation, + + from fields +) + +select * +from final