diff --git a/models/br_me_caged/microdados_movimentacao.sql b/models/br_me_caged/br_me_caged__microdados_movimentacao.sql similarity index 89% rename from models/br_me_caged/microdados_movimentacao.sql rename to models/br_me_caged/br_me_caged__microdados_movimentacao.sql index 63f2fe6b..7bb59d0b 100644 --- a/models/br_me_caged/microdados_movimentacao.sql +++ b/models/br_me_caged/br_me_caged__microdados_movimentacao.sql @@ -1,7 +1,8 @@ {{ config( schema="br_me_caged", - materialized="table", + materialized="incremental", + alias="movimentacao", partition_by={ "field": "ano", "data_type": "int64", @@ -12,6 +13,7 @@ pre_hook="DROP ALL ROW ACCESS POLICIES ON {{ this }}", ) }} + select safe_cast(ano as int64) ano, safe_cast(mes as int64) mes, @@ -50,3 +52,9 @@ from `basedosdados-staging.br_me_caged_staging.microdados_movimentacao` a left join `basedosdados.br_bd_diretorios_brasil.municipio` b on a.id_municipio = b.id_municipio_6 + +{% if is_incremental() %} + where + date(cast(ano as int64), cast(mes as int64), 1) + > (select max(date(cast(ano as int64), cast(mes as int64), 1)) from {{ this }}) +{% endif %} diff --git a/models/br_me_caged/microdados_movimentacao_excluida.sql b/models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql similarity index 98% rename from models/br_me_caged/microdados_movimentacao_excluida.sql rename to models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql index 9a353e2d..c656ca9c 100644 --- a/models/br_me_caged/microdados_movimentacao_excluida.sql +++ b/models/br_me_caged/br_me_caged__microdados_movimentacao_excluida.sql @@ -2,6 +2,7 @@ config( schema="br_me_caged", materialized="table", + alias="movimentacao_excluida", partition_by={ "field": "ano", "data_type": "int64", diff --git a/models/br_me_caged/microdados_movimentacao_fora_prazo.sql b/models/br_me_caged/br_me_caged__movimentacao_fora_prazo.sql similarity index 98% rename from models/br_me_caged/microdados_movimentacao_fora_prazo.sql rename to models/br_me_caged/br_me_caged__movimentacao_fora_prazo.sql index 552ab704..8eeb5978 100644 --- a/models/br_me_caged/microdados_movimentacao_fora_prazo.sql +++ b/models/br_me_caged/br_me_caged__movimentacao_fora_prazo.sql @@ -2,6 +2,7 @@ config( schema="br_me_caged", materialized="table", + alias="movimentacao_fora_prazo", partition_by={ "field": "ano", "data_type": "int64", diff --git a/models/br_me_caged/schema.yml b/models/br_me_caged/schema.yml index 8fbe286a..61f97a49 100644 --- a/models/br_me_caged/schema.yml +++ b/models/br_me_caged/schema.yml @@ -1,7 +1,7 @@ --- version: 2 models: - - name: microdados_movimentacao + - name: br_me_caged__microdados_movimentacao description: Contém dados de movimentações declaradas dentro do prazo com competência de declaração. tests: