From e6b3aae6d0dcaebebae17c407c53f32eb2ea93f2 Mon Sep 17 00:00:00 2001 From: drethereum Date: Wed, 30 Aug 2023 09:18:00 -0600 Subject: [PATCH] unique key tests and desc --- .../price/price__ez_hourly_token_prices.yml | 4 +++- .../silver__asset_metadata_all_providers.sql | 5 +++-- .../silver__asset_metadata_all_providers.yml | 18 ++++++++++++++++++ .../prices/silver__asset_metadata_priority.yml | 12 ++++++++++++ .../silver__hourly_prices_all_providers.sql | 2 +- .../silver__hourly_prices_all_providers.yml | 17 +++++++++++++++++ 6 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 models/silver/prices/silver__asset_metadata_all_providers.yml create mode 100644 models/silver/prices/silver__asset_metadata_priority.yml create mode 100644 models/silver/prices/silver__hourly_prices_all_providers.yml diff --git a/models/gold/price/price__ez_hourly_token_prices.yml b/models/gold/price/price__ez_hourly_token_prices.yml index 56d0837..3e15547 100644 --- a/models/gold/price/price__ez_hourly_token_prices.yml +++ b/models/gold/price/price__ez_hourly_token_prices.yml @@ -18,4 +18,6 @@ models: - name: DECIMALS description: The number of decimals for token contract - name: PRICE - description: Closing price of the recorded hour in USD \ No newline at end of file + description: Closing price of the recorded hour in USD + - name: IS_IMPUTED + description: Whether the price was imputed from an earlier record (generally used for low trade volume tokens) \ No newline at end of file diff --git a/models/silver/prices/silver__asset_metadata_all_providers.sql b/models/silver/prices/silver__asset_metadata_all_providers.sql index c6c2e46..1bb61ef 100644 --- a/models/silver/prices/silver__asset_metadata_all_providers.sql +++ b/models/silver/prices/silver__asset_metadata_all_providers.sql @@ -1,6 +1,6 @@ {{ config( materialized = 'incremental', - unique_key = 'token_address', + unique_key = ['token_address','symbol','id','provider'], tags = ['non_realtime'] ) }} @@ -13,7 +13,8 @@ SELECT ) AS symbol, token_name AS NAME, token_decimals AS decimals, - provider + provider, + p._inserted_timestamp FROM {{ ref('bronze__asset_metadata_all_providers') }} p diff --git a/models/silver/prices/silver__asset_metadata_all_providers.yml b/models/silver/prices/silver__asset_metadata_all_providers.yml new file mode 100644 index 0000000..8eaedb8 --- /dev/null +++ b/models/silver/prices/silver__asset_metadata_all_providers.yml @@ -0,0 +1,18 @@ +version: 2 +models: + - name: silver__asset_metadata_all_providers + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - TOKEN_ADDRESS + - SYMBOL + - PROVIDER + - ID + + columns: + - name: TOKEN_ADDRESS + tests: + - not_null + - name: PROVIDER + tests: + - not_null \ No newline at end of file diff --git a/models/silver/prices/silver__asset_metadata_priority.yml b/models/silver/prices/silver__asset_metadata_priority.yml new file mode 100644 index 0000000..9ccd956 --- /dev/null +++ b/models/silver/prices/silver__asset_metadata_priority.yml @@ -0,0 +1,12 @@ +version: 2 +models: + - name: silver__asset_metadata_priority + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - TOKEN_ADDRESS + + columns: + - name: TOKEN_ADDRESS + tests: + - not_null diff --git a/models/silver/prices/silver__hourly_prices_all_providers.sql b/models/silver/prices/silver__hourly_prices_all_providers.sql index d9f2b28..bb6bdcc 100644 --- a/models/silver/prices/silver__hourly_prices_all_providers.sql +++ b/models/silver/prices/silver__hourly_prices_all_providers.sql @@ -1,6 +1,6 @@ {{ config( materialized = 'incremental', - unique_key = ['token_address', 'hour'], + unique_key = ['token_address', 'hour', 'provider'], tags = ['non_realtime'] ) }} diff --git a/models/silver/prices/silver__hourly_prices_all_providers.yml b/models/silver/prices/silver__hourly_prices_all_providers.yml new file mode 100644 index 0000000..faee005 --- /dev/null +++ b/models/silver/prices/silver__hourly_prices_all_providers.yml @@ -0,0 +1,17 @@ +version: 2 +models: + - name: silver__hourly_prices_all_providers + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - TOKEN_ADDRESS + - HOUR + - PROVIDER + + columns: + - name: HOUR + tests: + - not_null + - dbt_expectations.expect_row_values_to_have_recent_data: + datepart: day + interval: 1 \ No newline at end of file