-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Criar lógica de atualização de última data de temporal_coverage
.
#230
Comments
@rdahis a unica mudanca aqui de. FE é mostrar mes/dia/etc adicional ao ano nao? nao sei se entendi o que voce colocou |
Tem uma parte de FE sim, numas funções lá de |
Ver discussão no #414 sobre a necessidade ou não de criar o campo |
@rdahis |
Não... Mas bem lembrado, vou tentar já incluir esse issue no novo modelo de dados. |
Discussão continua pós basedosdados/backend#67. Requirements:
Validations to include:
BE logic
def datetime_entity(datetime_range):
if (datetime_range.start_second or datetime_range.end_second):
return second
if (datetime_range.start_minute or datetime_range.end_minute):
return minute
if (datetime_range.start_hour or datetime_range.end_hour):
return hour
if (datetime_range.start_day or datetime_range.end_day):
return day
if (datetime_range.start_month or datetime_range.end_month):
return month
if (datetime_range.start_quarter or datetime_range.end_quarter):
return quarter
if (datetime_range.start_semester or datetime_range.end_semester):
return semester
if (datetime_range.start_year or datetime_range.end_year):
return year FE / search logicdef latest_datetime_available():
if end_*:
return end_*
else:
if datetime_entity(datetime_range) == update_frequency.entity):
return <entity>(current_datetime) - update_frequency.lag/coverage.interval
else:
if updating.last:
<entity>(last_updated)
return <entity>(current_datetime) - update_frequency.lag/coverage.interval Cases to studycase 1:
current: 2023-03 case 2:
current: 2023-03 if not last and diff entity, not sure between 0-12 months (or calculated total number of ) |
Fechando pois já foi solucionado:
|
Contexto
Hoje temos um problema: quando vira o ano temos que atualizar na mão o limite superior do campo
temporal_coverage
para todos os recursos atualizados periodicamente (ex:bdm_table
,external_link
). Exemplo: atualizar2004(1)2020
para2004(1)2021
. Isso já é inviável hoje, e fica cada vez mais conforme o número de conjuntos no banco cresce.Proposta
Back-end
update_frequency
poris_periodically_updated
(ou algo assim) tomando valoresyes
eno
.lag
como número de unidades temporais de atraso da atualização. Ex: 10 dias, 1 mês, 1 ano.2004(1)
.Front-end
temporal_coverage
a partir do intervalo médio/mediano/modal entre anos da cobertura. ExibirUB - lag
.Exemplos para data atual
2022-01-31
:lag=1
,2008(1)
==> 2008 - 2021lag=2
,2008-08(2)
==> 2008-08 - 2021-08is_periodically_updated='no'
,1980, 1991, 2000, 2010
==> 1980 - 2010The text was updated successfully, but these errors were encountered: