From 5e3bd7d4920601fe40e292a0ceb4fb39c5812dff Mon Sep 17 00:00:00 2001
From: Eunhak Lee <lee@enak.kr>
Date: Wed, 4 Dec 2024 16:51:04 +0900
Subject: [PATCH] =?UTF-8?q?chore:=20=EB=B6=80=ED=92=88=EC=9D=84=20?=
 =?UTF-8?q?=EC=83=88=EB=A1=9C=20=EC=B6=94=EA=B0=80=ED=95=A0=20=EB=95=8C=20?=
 =?UTF-8?q?ON=20CONFLICT=20=EB=8F=99=EC=9E=91=20=EC=A0=95=EC=9D=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 push_to_db.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/push_to_db.py b/push_to_db.py
index 3e40f8c..52b7c94 100644
--- a/push_to_db.py
+++ b/push_to_db.py
@@ -62,7 +62,10 @@ def create_new_one(_dict, part_type, _cursor):
     values = [value for _, value in _obj]
 
     sql = """WITH rows AS (INSERT INTO parts (name, type) VALUES (%s, %s) RETURNING id)
-INSERT INTO part_info_{type} (part_id, {columns}) (SELECT rows.id, {value_entries} FROM rows) RETURNING part_id;""".format(type=_part_type_enum, columns=columns, value_entries=", ".join(["%s"] * len(values)))
+INSERT INTO part_info_{type} (part_id, {columns})
+(SELECT rows.id, {value_entries} FROM rows)
+ON CONFLICT (name) DO UPDATE name = excluded.name
+RETURNING part_id;""".format(type=_part_type_enum, columns=columns, value_entries=", ".join(["%s"] * len(values)))
     _cursor.execute(sql, (name, _part_type_enum, *values))
     data = _cursor.fetchall()
 
-- 
GitLab