>
> > Eu acabei tendo retorno do comando que rodei, em outras tabelas:
> > ...
> > Porém, estou meio em dúvidas sobre o que fazer.
>
> Mantenha os dados íntegros, seja consistente. Estabeleça um padrão
> para os registros que não estão íntegros e defina um valor padrão para
> os mesmos, converse com os os colegas a sua volta, quem desenhou a
> aplicação e tem conhecimento de como estes dados não-integros se
> comportam na aplicação pode te ajudar a definir os valores padrões. Se
> mesmo assim não existe um valor padrão mas existe uma regra de
> integridade, a aplicação obviamente não vai funcionar com estes dados
> e então para quê tê-los?
>
> Mas em nenhum momento use qualquer mecanismo de burlar a integridade.
>
>
>
Então.
Ao rodar o meu .sql, recebi a seguinte mensagem:
*Query:*
ALTER TABLE integrations.accounts DROP CONSTRAINT IF EXISTS
cc_at_least_one_setting_needed,
ADD CONSTRAINT cc_at_least_one_setting_needed CHECK
(("qb_settings" IS NOT NULL) or
("xero_settings" IS NOT NULL) or
("freshbooks_settings" IS NOT NULL) or
("myob_settings" IS NOT NULL) or
("ppy_settings" IS NOT NULL));
ERROR: check constraint "cc_at_least_one_setting_needed" is violated by
> some row
Fiz um simples SELECT para descobrir o que estava acontecendo:
SELECT * FROM integrations.accounts WHERE qb_settings IS NULL OR
xero_settings IS NULL OR freshbooks_settings IS NULL OR myob_settings
IS NULL OR ppy_settings IS NULL;
Recebi 59 rows. Ou seja, achei o problema. Eu tenho parâmetros nulos que
violam o meu "CHECK"
*PERGUNTA:*
Como posso executar o comando com sucesso? O que tenho que fazer?
Dickson S. Guedes
Não estou pedindo a barbada. Apenas se puder ser mais claro no que eu
> preciso e me apontar uma direcão, iria ajudar bastante. Obrigado.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral