add give_gift data
This commit is contained in:
		
							parent
							
								
									c5c4d4cfcc
								
							
						
					
					
						commit
						4b86cd5551
					
				
							
								
								
									
										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 brands
 | 
						dbt run --profiles-dir=. --project-dir=. --full-refresh --select user_give_gift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -81,6 +81,10 @@ 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
 | 
				
			||||||
| 
						 | 
					@ -169,6 +173,10 @@ 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
 | 
				
			||||||
| 
						 | 
					@ -177,6 +185,14 @@ 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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					{{ 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 AS left_at,
 | 
					    leftat::timestamp 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,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					{{ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@ sources:
 | 
				
			||||||
  - 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
 | 
				
			||||||
| 
						 | 
					@ -36,8 +37,11 @@ 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