本日作業分
このコミットが含まれているのは:
+36
@@ -172,6 +172,42 @@ class VideoDao:
|
||||
videos.append (self._create_dto_from_row (row, with_relation_tables))
|
||||
return videos
|
||||
|
||||
def upsert_all (
|
||||
self,
|
||||
videos: list[VideoDto],
|
||||
with_relation_tables: bool = True,
|
||||
) -> int:
|
||||
with self.conn.cursor () as c:
|
||||
for video in videos:
|
||||
c.execute ("""
|
||||
INSERT INTO
|
||||
videos(
|
||||
code,
|
||||
title,
|
||||
description,
|
||||
uploaded_at,
|
||||
deleted_at)
|
||||
VALUES
|
||||
(
|
||||
%s,
|
||||
%s,
|
||||
%s,
|
||||
%s,
|
||||
%s)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
code = VALUES(code),
|
||||
title = VALUES(title),
|
||||
description = VALUES(description),
|
||||
uploaded_at = VALUES(uploaded_at),
|
||||
deleted_at = VALUES(deleted_at)""", (
|
||||
video.code,
|
||||
video.title,
|
||||
video.description,
|
||||
video.uploaded_at,
|
||||
video.deleted_at))
|
||||
video.id_ = c.lastrowid
|
||||
# TODO: with_relation_tables が True の場合,子テーブルも UPSERT すること
|
||||
|
||||
def _create_dto_from_row (
|
||||
self,
|
||||
row,
|
||||
|
||||
新しい課題から参照
ユーザをブロックする