Edges
Структура таблицы: id | from_node | to_node
Операция:
node.id = 1
await getManager().delete(Edge, [{ from_node: node.id }, { to_node: node.id }]);
Результаты: запрос
DELETE FROM "edges" WHERE (("from_node" = $1 AND "to_node" = $2) OR ("from_node" = $3 AND "to_node" = $4)) -- PARAMETERS: [1,null,null,1]
В то время как запрос, который я хочу :
query: DELETE FROM "edges" WHERE ("from_node" = $1) OR ("to_node" = $2) -- PARAMETERS: [1,1]
Понятия не имею, почему в результирующий запрос добавляется дополнительное предложение AND
.
С другой стороны, этот код прекрасно работает:
getManger()
.createQueryBuilder()
.delete()
.from(Edge)
.where([{ from_node: node.id }, { to_node: node.id }])
.execute();
Может кто-нибудь объяснить причину несоответствия фактического и желаемого результата операции getManager().delete
?
DB: Postgres
Типовая версия: последняя (0.2.24)