瀏覽代碼

Fix upsert command for old sqlite version

Kirk Trombley 4 年之前
父節點
當前提交
ac2462f85a
共有 1 個文件被更改,包括 9 次插入2 次删除
  1. 9 2
      server/app.py

+ 9 - 2
server/app.py

@@ -90,8 +90,15 @@ async def set_availability(body: Availability):
     async with connect() as db:
         for a in body.availability:
             await db.execute(
-                "INSERT INTO availability(name, month, day, status) VALUES (?, ?, ?, ?) ON CONFLICT DO UPDATE SET name=?, month=?, day=?, status=?", 
-                (body.name, a.month, a.day, a.status.value, body.name, a.month, a.day, a.status.value),
+                "INSERT INTO availability VALUES (:name, :month, :day, :status) \
+                    ON CONFLICT(name, month, day) DO \
+                    UPDATE SET name=:name, month=:month, day=:day, status=:status", 
+                {
+                    "name": body.name,
+                    "month": a.month,
+                    "day": a.day,
+                    "status": a.status.value,
+                },
             )
         await db.commit()
     LAST_UPDATE = datetime.datetime.now()