HashLoad / ORMBr

ORMBr Framework for Delphi (Isaque Pinheiro)
https://www.isaquepinheiro.com.br
GNU Lesser General Public License v3.0
31 stars 16 forks source link

violation of PRIMARY or UNIQUE KEY ao realizar update. #8

Closed thiagomantuani closed 1 year ago

thiagomantuani commented 1 year ago

Olá, tudo bem?

Estava rodando o exemplo deste link: https://github.com/HashLoad/ORMBr/tree/master/Examples/Horse, e ao realizar um update, ocorre o erro da imagem abaixo:

image

segue um json de exemplo que utilizei para realizar o 'PUT':

{ "master_id": 2, "description": "IB Express", "registerdate": "2023-03-09", "updatedate": "2023-03-10", "client_id": 1, "client_name": "Cliente Teste", "detail": [ { "detail_id": 1, "master_id": 2, "lookup_id": 2, "lookup_description": "Teste 123", "price": 170 }, { "detail_id": 2, "master_id": 2, "lookup_id": 1, "lookup_description": "Teste 123456", "price": 180 } ] }

Debugando é possível observar que o erro ocorre sempre nos 'details'. Quando vem 2 details, o count da lista ao realizar update fica como 4 (duplica), e para estes 2 duplicados ocorre o erro de violação de chave.

é algum erro do código do exemplo ou do json que está sendo realizado o PUT?

Obs: não alterei nada no código do exemplo, rodei conforme está no link destacado no início da postagem.

thiagomantuani commented 1 year ago

Resolvido, alterando abordagem conforme o exemplo do link abaixo: https://github.com/HashLoad/ORMBr/tree/master/Examples/RESTful/RESTFul%20via%20Driver/Datasnap