{{ config( materialized='incremental', engine="MergeTree", order_by='ts_code, time_id', unique_key=['ts_code', 'time_id'], incremental_strategy='delete+insert', ) }} Select StgMinutes.ts_code As ts_code, toYYYYMMDDhhmmss(toDateTime(`StgMinutes`.`trade_time`)) As time_id, StgMinutes.close As close, StgMinutes.open As open, StgMinutes.high As high, StgMinutes.low As low, StgMinutes.vol As vol, StgMinutes.amount As amount From {{ source('finance', 'stg.tushare_minutes') }} As StgMinutes where 1 = 1 {% if is_incremental() %} And StgMinutes.trade_time >= (Select formatDateTimeInJodaSyntax(YYYYMMDDhhmmssToDateTime(max(time_id)), 'yyyy-MM-dd hh:mm:ss') From {{ this }}) {% endif %} {% if 'dev' in target.name %} And StgMinutes.trade_time >= formatDateTimeInJodaSyntax(dateAdd(Month,-1,today()), 'yyyy-01-01 00:00:00') {% elif target.name == 'test' %} And StgMinutes.trade_time >= formatDateTimeInJodaSyntax(dateAdd(Year,-1,today()), 'yyyy-01-01 00:00:00') {% endif %}