From e7303b0ff44c0fb92e8f01f6fb7d4e17d4266d9e Mon Sep 17 00:00:00 2001 From: Jack Forgash <58153492+forgxyz@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:29:52 -0600 Subject: [PATCH] get topshot series id from set creation --- .../silver__nft_moment_metadata_final_s.sql | 23 +++++++++++++------ .../onchain/silver__nft_moment_set_s.sql | 6 ++++- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/models/silver/nft/metadata/onchain/silver__nft_moment_metadata_final_s.sql b/models/silver/nft/metadata/onchain/silver__nft_moment_metadata_final_s.sql index 0bfd698..dbdaca3 100644 --- a/models/silver/nft/metadata/onchain/silver__nft_moment_metadata_final_s.sql +++ b/models/silver/nft/metadata/onchain/silver__nft_moment_metadata_final_s.sql @@ -50,7 +50,8 @@ FINAL AS ( ) AS play_id, COALESCE( m.series_id, - e.series_id + e.series_id, + sn.series_id ) AS series_id, s.series_name, COALESCE( @@ -77,15 +78,23 @@ FINAL AS ( LEFT JOIN metadata pl ON m.event_contract = pl.event_contract AND COALESCE( - e.play_id, - m.play_id + m.play_id, + e.play_id ) = pl.play_id - LEFT JOIN series s - ON m.event_contract = s.event_contract - AND e.series_id = s.series_id LEFT JOIN nft_sets sn ON m.event_contract = sn.event_contract - AND e.set_id = sn.set_id + AND COALESCE( + m.set_id, + e.set_id + ) = sn.set_id + LEFT JOIN series s + ON m.event_contract = s.event_contract + AND COALESCE( + m.series_id, + e.series_id, + sn.series_id + ) = s.series_id + ) SELECT *, diff --git a/models/silver/nft/metadata/onchain/silver__nft_moment_set_s.sql b/models/silver/nft/metadata/onchain/silver__nft_moment_set_s.sql index 1528095..e31d0ea 100644 --- a/models/silver/nft/metadata/onchain/silver__nft_moment_set_s.sql +++ b/models/silver/nft/metadata/onchain/silver__nft_moment_set_s.sql @@ -40,8 +40,12 @@ SELECT block_timestamp, event_contract, event_data AS set_data, - event_data :id :: STRING AS set_id, + COALESCE( + event_data :id :: STRING, + event_data :setID :: STRING + ) AS set_id, event_data :name :: STRING AS set_name, + event_data :series :: STRING AS series_id, _inserted_timestamp, _partition_by_block_id, {{ dbt_utils.generate_surrogate_key(