Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Ubuntu | dbadef030d |
2
Makefile
2
Makefile
|
@ -6,5 +6,5 @@ push:
|
||||||
run:
|
run:
|
||||||
dbt deps --profiles-dir=. --project-dir=.
|
dbt deps --profiles-dir=. --project-dir=.
|
||||||
#dbt run --profiles-dir=. --project-dir=. --full-refresh
|
#dbt run --profiles-dir=. --project-dir=. --full-refresh
|
||||||
dbt run --profiles-dir=. --project-dir=. --full-refresh --select user_give_gift
|
dbt run --profiles-dir=. --project-dir=. --full-refresh --select admin_tags
|
||||||
|
|
||||||
|
|
|
@ -53,10 +53,6 @@ vars:
|
||||||
admin_tags_ab2: unibag._airbyte_raw_admin_tags
|
admin_tags_ab2: unibag._airbyte_raw_admin_tags
|
||||||
admin_tags_ab3: unibag._airbyte_raw_admin_tags
|
admin_tags_ab3: unibag._airbyte_raw_admin_tags
|
||||||
admin_tags: unibag._airbyte_raw_admin_tags
|
admin_tags: unibag._airbyte_raw_admin_tags
|
||||||
brands_ab1: unibag._airbyte_raw_brands
|
|
||||||
brands_ab2: unibag._airbyte_raw_brands
|
|
||||||
brands_ab3: unibag._airbyte_raw_brands
|
|
||||||
brands: unibag._airbyte_raw_brands
|
|
||||||
cash_flows_ab1: unibag._airbyte_raw_cash_flows
|
cash_flows_ab1: unibag._airbyte_raw_cash_flows
|
||||||
cash_flows_ab2: unibag._airbyte_raw_cash_flows
|
cash_flows_ab2: unibag._airbyte_raw_cash_flows
|
||||||
cash_flows_ab3: unibag._airbyte_raw_cash_flows
|
cash_flows_ab3: unibag._airbyte_raw_cash_flows
|
||||||
|
@ -81,10 +77,6 @@ vars:
|
||||||
events_ab2: unibag._airbyte_raw_events
|
events_ab2: unibag._airbyte_raw_events
|
||||||
events_ab3: unibag._airbyte_raw_events
|
events_ab3: unibag._airbyte_raw_events
|
||||||
events: unibag._airbyte_raw_events
|
events: unibag._airbyte_raw_events
|
||||||
give_gifts_ab1: unibag._airbyte_raw_give_gifts
|
|
||||||
give_gifts_ab2: unibag._airbyte_raw_give_gifts
|
|
||||||
give_gifts_ab3: unibag._airbyte_raw_give_gifts
|
|
||||||
give_gifts: unibag._airbyte_raw_give_gifts
|
|
||||||
inventories_ab1: unibag._airbyte_raw_inventories
|
inventories_ab1: unibag._airbyte_raw_inventories
|
||||||
inventories_ab2: unibag._airbyte_raw_inventories
|
inventories_ab2: unibag._airbyte_raw_inventories
|
||||||
inventories_ab3: unibag._airbyte_raw_inventories
|
inventories_ab3: unibag._airbyte_raw_inventories
|
||||||
|
@ -173,10 +165,6 @@ vars:
|
||||||
team_bonus_ab2: unibag._airbyte_raw_team_bonus
|
team_bonus_ab2: unibag._airbyte_raw_team_bonus
|
||||||
team_bonus_ab3: unibag._airbyte_raw_team_bonus
|
team_bonus_ab3: unibag._airbyte_raw_team_bonus
|
||||||
team_bonus: unibag._airbyte_raw_team_bonus
|
team_bonus: unibag._airbyte_raw_team_bonus
|
||||||
team_histories_ab1: unibag._airbyte_raw_team_histories
|
|
||||||
team_histories_ab2: unibag._airbyte_raw_team_histories
|
|
||||||
team_histories_ab3: unibag._airbyte_raw_team_histories
|
|
||||||
team_histories: unibag._airbyte_raw_team_histories
|
|
||||||
team_members_ab1: unibag._airbyte_raw_team_members
|
team_members_ab1: unibag._airbyte_raw_team_members
|
||||||
team_members_ab2: unibag._airbyte_raw_team_members
|
team_members_ab2: unibag._airbyte_raw_team_members
|
||||||
team_members_ab3: unibag._airbyte_raw_team_members
|
team_members_ab3: unibag._airbyte_raw_team_members
|
||||||
|
@ -185,14 +173,6 @@ vars:
|
||||||
teams_ab2: unibag._airbyte_raw_teams
|
teams_ab2: unibag._airbyte_raw_teams
|
||||||
teams_ab3: unibag._airbyte_raw_teams
|
teams_ab3: unibag._airbyte_raw_teams
|
||||||
teams: unibag._airbyte_raw_teams
|
teams: unibag._airbyte_raw_teams
|
||||||
user_courses_ab1: unibag._airbyte_raw_user_courses
|
|
||||||
user_courses_ab2: unibag._airbyte_raw_user_courses
|
|
||||||
user_courses_ab3: unibag._airbyte_raw_user_courses
|
|
||||||
user_courses: unibag._airbyte_raw_user_courses
|
|
||||||
user_give_gift_ab1: unibag._airbyte_raw_user_give_gift
|
|
||||||
user_give_gift_ab2: unibag._airbyte_raw_user_give_gift
|
|
||||||
user_give_gift_ab3: unibag._airbyte_raw_user_give_gift
|
|
||||||
user_give_gift: unibag._airbyte_raw_user_give_gift
|
|
||||||
user_identifications_ab1: unibag._airbyte_raw_user_identifications
|
user_identifications_ab1: unibag._airbyte_raw_user_identifications
|
||||||
user_identifications_ab2: unibag._airbyte_raw_user_identifications
|
user_identifications_ab2: unibag._airbyte_raw_user_identifications
|
||||||
user_identifications_ab3: unibag._airbyte_raw_user_identifications
|
user_identifications_ab3: unibag._airbyte_raw_user_identifications
|
||||||
|
@ -212,4 +192,4 @@ vars:
|
||||||
wards_ab1: unibag._airbyte_raw_wards
|
wards_ab1: unibag._airbyte_raw_wards
|
||||||
wards_ab2: unibag._airbyte_raw_wards
|
wards_ab2: unibag._airbyte_raw_wards
|
||||||
wards_ab3: unibag._airbyte_raw_wards
|
wards_ab3: unibag._airbyte_raw_wards
|
||||||
wards: unibag._airbyte_raw_wards
|
wards: unibag._airbyte_raw_wards
|
File diff suppressed because one or more lines are too long
|
@ -1,28 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to parse JSON blob stored in a single column and extract into separated field columns as described by the JSON Schema
|
|
||||||
-- depends_on: {{ source('unibag', '_airbyte_raw_brands') }}
|
|
||||||
select
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['_id'], ['_id']) }} as _id,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['desc'], ['desc']) }} as {{ adapter.quote('desc') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['logo'], ['logo']) }} as logo,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['name'], ['name']) }} as {{ adapter.quote('name') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['slug'], ['slug']) }} as slug,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['active'], ['active']) }} as active,
|
|
||||||
{{ json_extract_array('_airbyte_data', ['photos'], ['photos']) }} as photos,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['country'], ['country']) }} as country,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdAt'], ['createdAt']) }} as createdat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['updatedAt'], ['updatedAt']) }} as updatedat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['searchString'], ['searchString']) }} as searchstring,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['totalProduct'], ['totalProduct']) }} as totalproduct,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ source('unibag', '_airbyte_raw_brands') }} as table_alias
|
|
||||||
-- brands
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to cast each column to its adequate SQL type converted from the JSON schema type
|
|
||||||
-- depends_on: {{ ref('brands_ab1') }}
|
|
||||||
select
|
|
||||||
cast(_id as {{ dbt_utils.type_string() }}) as _id,
|
|
||||||
cast({{ adapter.quote('desc') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('desc') }},
|
|
||||||
cast(logo as {{ dbt_utils.type_string() }}) as logo,
|
|
||||||
cast({{ adapter.quote('name') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('name') }},
|
|
||||||
cast(slug as {{ dbt_utils.type_string() }}) as slug,
|
|
||||||
{{ cast_to_boolean('active') }} as active,
|
|
||||||
photos,
|
|
||||||
cast(country as {{ dbt_utils.type_string() }}) as country,
|
|
||||||
cast(createdat as {{ dbt_utils.type_string() }}) as createdat,
|
|
||||||
cast(updatedat as {{ dbt_utils.type_string() }}) as updatedat,
|
|
||||||
cast(searchstring as {{ dbt_utils.type_string() }}) as searchstring,
|
|
||||||
cast(totalproduct as {{ dbt_utils.type_float() }}) as totalproduct,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ ref('brands_ab1') }}
|
|
||||||
-- brands
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to build a hash column based on the values of this record
|
|
||||||
-- depends_on: {{ ref('brands_ab2') }}
|
|
||||||
select
|
|
||||||
{{ dbt_utils.surrogate_key([
|
|
||||||
'_id',
|
|
||||||
adapter.quote('desc'),
|
|
||||||
'logo',
|
|
||||||
adapter.quote('name'),
|
|
||||||
'slug',
|
|
||||||
boolean_to_string('active'),
|
|
||||||
array_to_string('photos'),
|
|
||||||
'country',
|
|
||||||
'createdat',
|
|
||||||
'updatedat',
|
|
||||||
'searchstring',
|
|
||||||
'totalproduct',
|
|
||||||
]) }} as _airbyte_brands_hashid,
|
|
||||||
tmp.*
|
|
||||||
from {{ ref('brands_ab2') }} tmp
|
|
||||||
-- brands
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to parse JSON blob stored in a single column and extract into separated field columns as described by the JSON Schema
|
|
||||||
-- depends_on: {{ source('unibag', '_airbyte_raw_give_gifts') }}
|
|
||||||
select
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['_id'], ['_id']) }} as _id,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['title'], ['title']) }} as title,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['status'], ['status']) }} as status,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['content'], ['content']) }} as {{ adapter.quote('content') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdAt'], ['createdAt']) }} as createdat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdBy'], ['createdBy']) }} as createdby,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['updatedAt'], ['updatedAt']) }} as updatedat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['searchString'], ['searchString']) }} as searchstring,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['lastChangeUsersAt'], ['lastChangeUsersAt']) }} as lastchangeusersat,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ source('unibag', '_airbyte_raw_give_gifts') }} as table_alias
|
|
||||||
-- give_gifts
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to cast each column to its adequate SQL type converted from the JSON schema type
|
|
||||||
-- depends_on: {{ ref('give_gifts_ab1') }}
|
|
||||||
select
|
|
||||||
cast(_id as {{ dbt_utils.type_string() }}) as _id,
|
|
||||||
cast(title as {{ dbt_utils.type_string() }}) as title,
|
|
||||||
cast(status as {{ dbt_utils.type_string() }}) as status,
|
|
||||||
cast({{ adapter.quote('content') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('content') }},
|
|
||||||
cast(createdat as {{ dbt_utils.type_string() }}) as createdat,
|
|
||||||
cast(createdby as {{ dbt_utils.type_string() }}) as createdby,
|
|
||||||
cast(updatedat as {{ dbt_utils.type_string() }}) as updatedat,
|
|
||||||
cast(searchstring as {{ dbt_utils.type_string() }}) as searchstring,
|
|
||||||
cast(lastchangeusersat as {{ dbt_utils.type_string() }}) as lastchangeusersat,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ ref('give_gifts_ab1') }}
|
|
||||||
-- give_gifts
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to build a hash column based on the values of this record
|
|
||||||
-- depends_on: {{ ref('give_gifts_ab2') }}
|
|
||||||
select
|
|
||||||
{{ dbt_utils.surrogate_key([
|
|
||||||
'_id',
|
|
||||||
'title',
|
|
||||||
'status',
|
|
||||||
adapter.quote('content'),
|
|
||||||
'createdat',
|
|
||||||
'createdby',
|
|
||||||
'updatedat',
|
|
||||||
'searchstring',
|
|
||||||
'lastchangeusersat',
|
|
||||||
]) }} as _airbyte_give_gifts_hashid,
|
|
||||||
tmp.*
|
|
||||||
from {{ ref('give_gifts_ab2') }} tmp
|
|
||||||
-- give_gifts
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to parse JSON blob stored in a single column and extract into separated field columns as described by the JSON Schema
|
|
||||||
-- depends_on: {{ source('unibag', '_airbyte_raw_team_histories') }}
|
|
||||||
select
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['_id'], ['_id']) }} as _id,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['date'], ['date']) }} as {{ adapter.quote('date') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['team'], ['team']) }} as team,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['level'], ['level']) }} as {{ adapter.quote('level') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['leader'], ['leader']) }} as leader,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['status'], ['status']) }} as status,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdAt'], ['createdAt']) }} as createdat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['statistic'], ['statistic']) }} as statistic,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ source('unibag', '_airbyte_raw_team_histories') }} as table_alias
|
|
||||||
-- team_histories
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to cast each column to its adequate SQL type converted from the JSON schema type
|
|
||||||
-- depends_on: {{ ref('team_histories_ab1') }}
|
|
||||||
select
|
|
||||||
cast(_id as {{ dbt_utils.type_string() }}) as _id,
|
|
||||||
cast({{ adapter.quote('date') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('date') }},
|
|
||||||
cast(team as {{ dbt_utils.type_string() }}) as team,
|
|
||||||
cast({{ adapter.quote('level') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('level') }},
|
|
||||||
cast(leader as {{ dbt_utils.type_string() }}) as leader,
|
|
||||||
cast(status as {{ dbt_utils.type_string() }}) as status,
|
|
||||||
cast(createdat as {{ dbt_utils.type_string() }}) as createdat,
|
|
||||||
cast(statistic as {{ dbt_utils.type_string() }}) as statistic,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ ref('team_histories_ab1') }}
|
|
||||||
-- team_histories
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to build a hash column based on the values of this record
|
|
||||||
-- depends_on: {{ ref('team_histories_ab2') }}
|
|
||||||
select
|
|
||||||
{{ dbt_utils.surrogate_key([
|
|
||||||
'_id',
|
|
||||||
adapter.quote('date'),
|
|
||||||
'team',
|
|
||||||
adapter.quote('level'),
|
|
||||||
'leader',
|
|
||||||
'status',
|
|
||||||
'createdat',
|
|
||||||
'statistic',
|
|
||||||
]) }} as _airbyte_team_histories_hashid,
|
|
||||||
tmp.*
|
|
||||||
from {{ ref('team_histories_ab2') }} tmp
|
|
||||||
-- team_histories
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to parse JSON blob stored in a single column and extract into separated field columns as described by the JSON Schema
|
|
||||||
-- depends_on: {{ source('unibag', '_airbyte_raw_user_courses') }}
|
|
||||||
select
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['_id'], ['_id']) }} as _id,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['user'], ['user']) }} as {{ adapter.quote('user') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['course'], ['course']) }} as course,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['hoolaId'], ['hoolaId']) }} as hoolaid,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdAt'], ['createdAt']) }} as createdat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['updatedAt'], ['updatedAt']) }} as updatedat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['academyAccount'], ['academyAccount']) }} as academyaccount,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ source('unibag', '_airbyte_raw_user_courses') }} as table_alias
|
|
||||||
-- user_courses
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to cast each column to its adequate SQL type converted from the JSON schema type
|
|
||||||
-- depends_on: {{ ref('user_courses_ab1') }}
|
|
||||||
select
|
|
||||||
cast(_id as {{ dbt_utils.type_string() }}) as _id,
|
|
||||||
cast({{ adapter.quote('user') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('user') }},
|
|
||||||
cast(course as {{ dbt_utils.type_string() }}) as course,
|
|
||||||
cast(hoolaid as {{ dbt_utils.type_string() }}) as hoolaid,
|
|
||||||
cast(createdat as {{ dbt_utils.type_string() }}) as createdat,
|
|
||||||
cast(updatedat as {{ dbt_utils.type_string() }}) as updatedat,
|
|
||||||
cast(academyaccount as {{ dbt_utils.type_string() }}) as academyaccount,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ ref('user_courses_ab1') }}
|
|
||||||
-- user_courses
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to build a hash column based on the values of this record
|
|
||||||
-- depends_on: {{ ref('user_courses_ab2') }}
|
|
||||||
select
|
|
||||||
{{ dbt_utils.surrogate_key([
|
|
||||||
'_id',
|
|
||||||
adapter.quote('user'),
|
|
||||||
'course',
|
|
||||||
'hoolaid',
|
|
||||||
'createdat',
|
|
||||||
'updatedat',
|
|
||||||
'academyaccount',
|
|
||||||
]) }} as _airbyte_user_courses_hashid,
|
|
||||||
tmp.*
|
|
||||||
from {{ ref('user_courses_ab2') }} tmp
|
|
||||||
-- user_courses
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to parse JSON blob stored in a single column and extract into separated field columns as described by the JSON Schema
|
|
||||||
-- depends_on: {{ source('unibag', '_airbyte_raw_user_give_gift') }}
|
|
||||||
select
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['_id'], ['_id']) }} as _id,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['gift'], ['gift']) }} as gift,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['user'], ['user']) }} as {{ adapter.quote('user') }},
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['title'], ['title']) }} as title,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['giveGift'], ['giveGift']) }} as givegift,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['createdAt'], ['createdAt']) }} as createdat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['updatedAt'], ['updatedAt']) }} as updatedat,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['isCompleted'], ['isCompleted']) }} as iscompleted,
|
|
||||||
{{ json_extract_scalar('_airbyte_data', ['notificationContent'], ['notificationContent']) }} as notificationcontent,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ source('unibag', '_airbyte_raw_user_give_gift') }} as table_alias
|
|
||||||
-- user_give_gift
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to cast each column to its adequate SQL type converted from the JSON schema type
|
|
||||||
-- depends_on: {{ ref('user_give_gift_ab1') }}
|
|
||||||
select
|
|
||||||
cast(_id as {{ dbt_utils.type_string() }}) as _id,
|
|
||||||
cast(gift as {{ dbt_utils.type_string() }}) as gift,
|
|
||||||
cast({{ adapter.quote('user') }} as {{ dbt_utils.type_string() }}) as {{ adapter.quote('user') }},
|
|
||||||
cast(title as {{ dbt_utils.type_string() }}) as title,
|
|
||||||
cast(givegift as {{ dbt_utils.type_string() }}) as givegift,
|
|
||||||
cast(createdat as {{ dbt_utils.type_string() }}) as createdat,
|
|
||||||
cast(updatedat as {{ dbt_utils.type_string() }}) as updatedat,
|
|
||||||
{{ cast_to_boolean('iscompleted') }} as iscompleted,
|
|
||||||
cast(notificationcontent as {{ dbt_utils.type_string() }}) as notificationcontent,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at
|
|
||||||
from {{ ref('user_give_gift_ab1') }}
|
|
||||||
-- user_give_gift
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "_airbyte_unibag",
|
|
||||||
tags = [ "top-level-intermediate" ]
|
|
||||||
) }}
|
|
||||||
-- SQL model to build a hash column based on the values of this record
|
|
||||||
-- depends_on: {{ ref('user_give_gift_ab2') }}
|
|
||||||
select
|
|
||||||
{{ dbt_utils.surrogate_key([
|
|
||||||
'_id',
|
|
||||||
'gift',
|
|
||||||
adapter.quote('user'),
|
|
||||||
'title',
|
|
||||||
'givegift',
|
|
||||||
'createdat',
|
|
||||||
'updatedat',
|
|
||||||
boolean_to_string('iscompleted'),
|
|
||||||
'notificationcontent',
|
|
||||||
]) }} as _airbyte_user_give_gift_hashid,
|
|
||||||
tmp.*
|
|
||||||
from {{ ref('user_give_gift_ab2') }} tmp
|
|
||||||
-- user_give_gift
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "unibag",
|
|
||||||
tags = [ "top-level" ]
|
|
||||||
) }}
|
|
||||||
-- Final base SQL model
|
|
||||||
-- depends_on: {{ ref('brands_ab3') }}
|
|
||||||
select
|
|
||||||
_id,
|
|
||||||
{{ adapter.quote('name') }},
|
|
||||||
active,
|
|
||||||
{{ adapter.quote('country') }}::json->>'name' AS country_name,
|
|
||||||
{{ adapter.quote('country') }}::json->>'code' AS country_code,
|
|
||||||
createdat::timestamp AS created_at,
|
|
||||||
updatedat::timestamp AS updated_at,
|
|
||||||
COALESCE(cast(totalproduct AS integer), 0) AS total_product,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at,
|
|
||||||
_airbyte_brands_hashid
|
|
||||||
from {{ ref('brands_ab3') }}
|
|
||||||
-- brands from {{ source('unibag', '_airbyte_raw_brands') }}
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "unibag",
|
|
||||||
tags = [ "top-level" ]
|
|
||||||
) }}
|
|
||||||
-- Final base SQL model
|
|
||||||
-- depends_on: {{ ref('give_gifts_ab3') }}
|
|
||||||
select
|
|
||||||
_id,
|
|
||||||
title,
|
|
||||||
status,
|
|
||||||
{{ adapter.quote('content') }},
|
|
||||||
createdby AS created_by,
|
|
||||||
lastchangeusersat::timestamp AS last_change_users_at,
|
|
||||||
createdat::timestamp AS created_at,
|
|
||||||
updatedat::timestamp AS updated_at,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at,
|
|
||||||
_airbyte_give_gifts_hashid
|
|
||||||
from {{ ref('give_gifts_ab3') }}
|
|
||||||
-- give_gifts from {{ source('unibag', '_airbyte_raw_give_gifts') }}
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ select
|
||||||
sku,
|
sku,
|
||||||
{{ adapter.quote('name') }},
|
{{ adapter.quote('name') }},
|
||||||
active,
|
active,
|
||||||
brand AS brand_id,
|
|
||||||
-- quantity,
|
-- quantity,
|
||||||
picture AS photo,
|
picture AS photo,
|
||||||
cast({{ adapter.quote('price') }}::json->>'base' AS numeric) AS price_base,
|
cast({{ adapter.quote('price') }}::json->>'base' AS numeric) AS price_base,
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "unibag",
|
|
||||||
tags = [ "top-level" ]
|
|
||||||
) }}
|
|
||||||
-- Final base SQL model
|
|
||||||
-- depends_on: {{ ref('team_histories_ab3') }}
|
|
||||||
select
|
|
||||||
_id,
|
|
||||||
team AS team_id,
|
|
||||||
leader AS leader_id,
|
|
||||||
status,
|
|
||||||
{{ adapter.quote('date') }}::timestamp,
|
|
||||||
{{ adapter.quote('level') }}::jsonb,
|
|
||||||
statistic::jsonb,
|
|
||||||
createdat::timestamp AS created_at,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at,
|
|
||||||
_airbyte_team_histories_hashid
|
|
||||||
from {{ ref('team_histories_ab3') }}
|
|
||||||
-- team_histories from {{ source('unibag', '_airbyte_raw_team_histories') }}
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ select
|
||||||
team AS team_id,
|
team AS team_id,
|
||||||
{{ adapter.quote('user') }} AS seller_id,
|
{{ adapter.quote('user') }} AS seller_id,
|
||||||
isleft AS is_left,
|
isleft AS is_left,
|
||||||
leftat::timestamp AS left_at,
|
leftat AS left_at,
|
||||||
joinedat::timestamp AS joined_at,
|
joinedat::timestamp AS joined_at,
|
||||||
createdat::timestamp AS created_at,
|
createdat::timestamp AS created_at,
|
||||||
updatedat::timestamp AS updated_at,
|
updatedat::timestamp AS updated_at,
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "unibag",
|
|
||||||
tags = [ "top-level" ]
|
|
||||||
) }}
|
|
||||||
-- Final base SQL model
|
|
||||||
-- depends_on: {{ ref('user_courses_ab3') }}
|
|
||||||
select
|
|
||||||
_id,
|
|
||||||
{{ adapter.quote('user') }} AS seller_id,
|
|
||||||
course::jsonb,
|
|
||||||
hoolaid AS hoola_id,
|
|
||||||
academyaccount AS academy_account_id,
|
|
||||||
createdat::timestamp AS created_at,
|
|
||||||
updatedat::timestamp AS updated_at,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at,
|
|
||||||
_airbyte_user_courses_hashid
|
|
||||||
from {{ ref('user_courses_ab3') }}
|
|
||||||
-- user_courses from {{ source('unibag', '_airbyte_raw_user_courses') }}
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
{{ config(
|
|
||||||
indexes = [{'columns':['_airbyte_emitted_at'],'type':'btree'}],
|
|
||||||
unique_key = '_airbyte_ab_id',
|
|
||||||
schema = "unibag",
|
|
||||||
tags = [ "top-level" ]
|
|
||||||
) }}
|
|
||||||
-- Final base SQL model
|
|
||||||
-- depends_on: {{ ref('user_give_gift_ab3') }}
|
|
||||||
select
|
|
||||||
_id,
|
|
||||||
{{ adapter.quote('user') }} AS seller_id,
|
|
||||||
title,
|
|
||||||
givegift AS give_gift_id,
|
|
||||||
iscompleted AS is_completed,
|
|
||||||
gift::json->>'type' AS gift_type,
|
|
||||||
cast(gift::json->>'value' AS numeric) AS gift_value,
|
|
||||||
gift::json->>'label' AS gift_label,
|
|
||||||
createdat::timestamp AS created_at,
|
|
||||||
updatedat::timestamp AS updated_at,
|
|
||||||
_airbyte_ab_id,
|
|
||||||
_airbyte_emitted_at,
|
|
||||||
{{ current_timestamp() }} as _airbyte_normalized_at,
|
|
||||||
_airbyte_user_give_gift_hashid
|
|
||||||
from {{ ref('user_give_gift_ab3') }}
|
|
||||||
-- user_give_gift from {{ source('unibag', '_airbyte_raw_user_give_gift') }}
|
|
||||||
where 1 = 1
|
|
||||||
|
|
|
@ -7,14 +7,12 @@ sources:
|
||||||
identifier: false
|
identifier: false
|
||||||
tables:
|
tables:
|
||||||
- name: _airbyte_raw_admin_tags
|
- name: _airbyte_raw_admin_tags
|
||||||
- name: _airbyte_raw_brands
|
|
||||||
- name: _airbyte_raw_cash_flows
|
- name: _airbyte_raw_cash_flows
|
||||||
- name: _airbyte_raw_cities
|
- name: _airbyte_raw_cities
|
||||||
- name: _airbyte_raw_customers
|
- name: _airbyte_raw_customers
|
||||||
- name: _airbyte_raw_districts
|
- name: _airbyte_raw_districts
|
||||||
- name: _airbyte_raw_event_rewards
|
- name: _airbyte_raw_event_rewards
|
||||||
- name: _airbyte_raw_events
|
- name: _airbyte_raw_events
|
||||||
- name: _airbyte_raw_give_gifts
|
|
||||||
- name: _airbyte_raw_inventories
|
- name: _airbyte_raw_inventories
|
||||||
- name: _airbyte_raw_membership
|
- name: _airbyte_raw_membership
|
||||||
- name: _airbyte_raw_membership_histories
|
- name: _airbyte_raw_membership_histories
|
||||||
|
@ -37,11 +35,8 @@ sources:
|
||||||
- name: _airbyte_raw_suppliers
|
- name: _airbyte_raw_suppliers
|
||||||
- name: _airbyte_raw_team_activities
|
- name: _airbyte_raw_team_activities
|
||||||
- name: _airbyte_raw_team_bonus
|
- name: _airbyte_raw_team_bonus
|
||||||
- name: _airbyte_raw_team_histories
|
|
||||||
- name: _airbyte_raw_team_members
|
- name: _airbyte_raw_team_members
|
||||||
- name: _airbyte_raw_teams
|
- name: _airbyte_raw_teams
|
||||||
- name: _airbyte_raw_user_courses
|
|
||||||
- name: _airbyte_raw_user_give_gift
|
|
||||||
- name: _airbyte_raw_user_identifications
|
- name: _airbyte_raw_user_identifications
|
||||||
- name: _airbyte_raw_users
|
- name: _airbyte_raw_users
|
||||||
- name: _airbyte_raw_voucher_bonus
|
- name: _airbyte_raw_voucher_bonus
|
||||||
|
|
Loading…
Reference in New Issue