summaryrefslogtreecommitdiff
path: root/src/db
diff options
context:
space:
mode:
authorWriterV2 <primary-v2@protonmail.com>2024-11-24 12:51:57 +0100
committerWriterV2 <primary-v2@protonmail.com>2024-11-24 12:51:57 +0100
commit9a3db2b9fab5e5cfa34d921bbff9ad95dbf05ee6 (patch)
tree9b78d799d1ea4698f0c26f633486dfd82112b9e5 /src/db
parent364763e039b286774c29c4995df6baba9d22a61a (diff)
Fix: Make tags unique (empties product tags)
Diffstat (limited to 'src/db')
-rw-r--r--src/db/product.rs3
1 files changed, 2 insertions, 1 deletions
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<Sqlite> = QueryBuilder::new("INSERT INTO tag (name) ");
+ let mut tags_query_builder: QueryBuilder<Sqlite> = 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<Tag> = tags_query_builder
.build_query_as::<Tag>()
.fetch_all(&mut **tx)
.await?;
+ println!("{:?}", added_tags);
let mut producttags_query_builder: QueryBuilder<Sqlite> = QueryBuilder::new("INSERT INTO producttag (pid, tid) ");
producttags_query_builder.push_values(added_tags.iter(), | mut b, added_tag | {