cambiatus / backend

Cambiatus GraphQL API
GNU Affero General Public License v3.0
20 stars 18 forks source link

Detectar strings vazias e transformá-las em `nil` quando apropriado #266

Closed henriquecbuss closed 2 years ago

henriquecbuss commented 2 years ago

Descrição

Em alguns campos (principalmente aqueles vindos do EOS), usamos a string vazia ("") para representar dados vazios ou inexistentes

Sugestão

Revisar quais campos são afetados, e tratá-los de acordo. Devemos realizar uma mutação para ajustar os dados que já estão salvos no banco, e tratar novos dados de modo a salvá-los como nil assim que chegarem no backend. Talvez alterar o schema do graphql para alguns campos se necessário

Lista de campos afetados encontrados

Essa lista pode não ser exaustiva ou 100% correta (não achei um jeito fácil de verificar isso no frontend. Fui olhando nossas queries e vendo onde convertemos "" para Nothing (similar ao nil do Elixir)


Conversa originada no Slack: https://cambiatus.slack.com/archives/CA83HJAAD/p1658944347934449

lucca65 commented 2 years ago

Vamos precisar arrumar o event-source, para, durante a ingestão, salvar como NULL caso o campo seja "".

Além disso, precisamos fazer um update no banco de produção para colocar como NULL onde for ''

MatheusBuss commented 2 years ago

Dei uma olhada na db de staging e achei mais alguns campos com algumas strings vazias:

Podemos adicionar todas essas no escopo dessa issue. O que acham @NeoVier e @lucca65? Pode ser que tenha deixado alguma pra trás ainda.


Outra coisa @lucca65, na tabela de produtos ainda temos uma coluna de images. Se não me engano essa coluna se tornou obsoleta na #220, ou não?

henriquecbuss commented 2 years ago

Podemos adicionar todas essas no escopo dessa issue.

+1