Managing views in meta_api_grabber now

This commit is contained in:
2025-11-05 15:43:01 +00:00
parent 750ff0d4ff
commit 68223f664a
7 changed files with 299 additions and 0 deletions

View File

@@ -87,6 +87,44 @@ CREATE UNIQUE INDEX idx_account_insights_flat_unique ON account_insights_flatten
REFRESH MATERIALIZED VIEW CONCURRENTLY account_insights_flattened;
--- campaign insights
CREATE MATERIALIZED VIEW campaign_insights_flattened AS
SELECT
time,
account_id,
campaign_id,
impressions,
clicks,
spend,
reach,
ctr,
cpc,
cpm,
date_preset,
date_start,
date_stop,
fetched_at,
(SELECT (value->>'value')::numeric
FROM jsonb_array_elements(actions)
WHERE value->>'action_type' = 'link_click') AS link_click,
(SELECT (value->>'value')::numeric
FROM jsonb_array_elements(actions)
WHERE value->>'action_type' = 'landing_page_view') AS landing_page_view,
(SELECT (value->>'value')::numeric
FROM jsonb_array_elements(actions)
WHERE value->>'action_type' = 'lead') AS lead
FROM campaign_insights;
CREATE INDEX idx_campaign_insights_flat_date ON campaign_insights_flattened(date_start, date_stop);
CREATE UNIQUE INDEX idx_campaign_insights_flat_unique ON campaign_insights_flattened(time, campaign_id);
REFRESH MATERIALIZED VIEW CONCURRENTLY campaign_insights_flattened;
-- permissinos
-- Grant SELECT on the existing materialized view
@@ -108,3 +146,5 @@ GRANT SELECT ON TABLES TO grafana;