honeysql

Akiz 2024-02-13T06:58:11.663939Z

Edit: I found the solution, maybe it will help somebody. on-conflict supports where clause.

(h/on-conflict :name :car :brand {:where [:not= :some-column nil]})
Good morning, I am trying to write “ON Conflict with WHERE clause” which is supported by Postgresql. Some discussion happened here so it should be possible, can somebody give me an example how to write something like this? https://clojurians.slack.com/archives/C66EM8D5H/p1601321215069100
INSERT INTO table (name, formula, car, brand)
VALUES ('abcd, '100, '8afc4b89-9738-4019-adab-d612dda6020c', 'renault')
ON CONFLICT (name, car, brand) WHERE some_column IS NULL
DO UPDATE SET name = EXCLUDED.name, formula = EXCLUDED.formula, car = EXCLUDED.car, brand = EXCLUDED.brand

seancorfield 2024-02-13T17:29:03.558809Z

https://cljdoc.org/d/com.github.seancorfield/honeysql/2.5.1103/doc/getting-started/postgresql-support shows an example of this FYI

👍 1