From 9a3db2b9fab5e5cfa34d921bbff9ad95dbf05ee6 Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Sun, 24 Nov 2024 12:51:57 +0100 Subject: Fix: Make tags unique (empties product tags) --- src/db/product.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/db') diff --git a/src/db/product.rs b/src/db/product.rs index 1c8be1f..2fd2f54 100644 --- a/src/db/product.rs +++ b/src/db/product.rs @@ -31,13 +31,14 @@ impl Product { .await?; if !tags.is_empty() { - let mut tags_query_builder: QueryBuilder = QueryBuilder::new("INSERT INTO tag (name) "); + let mut tags_query_builder: QueryBuilder = QueryBuilder::new("INSERT OR REPLACE INTO tag (name) "); tags_query_builder.push_values(tags.iter(), | mut b, tag | { b.push_bind(tag); }); tags_query_builder.push(" RETURNING id, name;"); let added_tags: Vec = tags_query_builder .build_query_as::() .fetch_all(&mut **tx) .await?; + println!("{:?}", added_tags); let mut producttags_query_builder: QueryBuilder = QueryBuilder::new("INSERT INTO producttag (pid, tid) "); producttags_query_builder.push_values(added_tags.iter(), | mut b, added_tag | { -- cgit v1.2.3