SQL ログ追加
このコミットが含まれているのは:
+46
-44
@@ -128,6 +128,8 @@ def main (
|
|||||||
api_data, now)
|
api_data, now)
|
||||||
|
|
||||||
conn.commit ()
|
conn.commit ()
|
||||||
|
print ('Committed.')
|
||||||
|
|
||||||
conn.close ()
|
conn.close ()
|
||||||
|
|
||||||
|
|
||||||
@@ -310,7 +312,7 @@ class VideoDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> VideoDto | None:
|
) -> VideoDto | None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
code,
|
code,
|
||||||
@@ -323,7 +325,7 @@ class VideoDao:
|
|||||||
WHERE
|
WHERE
|
||||||
id = %s
|
id = %s
|
||||||
ORDER BY
|
ORDER BY
|
||||||
id""", (video_id,))
|
id""", (video_id,)))
|
||||||
row = cast (VideoRow | None, c.fetchone ())
|
row = cast (VideoRow | None, c.fetchone ())
|
||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
@@ -334,7 +336,7 @@ class VideoDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> list[VideoDto]:
|
) -> list[VideoDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
code,
|
code,
|
||||||
@@ -345,7 +347,7 @@ class VideoDao:
|
|||||||
FROM
|
FROM
|
||||||
videos
|
videos
|
||||||
ORDER BY
|
ORDER BY
|
||||||
id""")
|
id"""))
|
||||||
videos: list[VideoDto] = []
|
videos: list[VideoDto] = []
|
||||||
for row in cast (list[VideoRow], c.fetchall ()):
|
for row in cast (list[VideoRow], c.fetchall ()):
|
||||||
videos.append (self._create_dto_from_row (row, with_relation_tables))
|
videos.append (self._create_dto_from_row (row, with_relation_tables))
|
||||||
@@ -355,7 +357,7 @@ class VideoDao:
|
|||||||
self,
|
self,
|
||||||
) -> list[VideoDto]:
|
) -> list[VideoDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
code,
|
code,
|
||||||
@@ -366,7 +368,7 @@ class VideoDao:
|
|||||||
FROM
|
FROM
|
||||||
videos
|
videos
|
||||||
WHERE
|
WHERE
|
||||||
deleted_at IS NULL""")
|
deleted_at IS NULL"""))
|
||||||
videos: list[VideoDto] = []
|
videos: list[VideoDto] = []
|
||||||
for row in cast (list[VideoRow], c.fetchall ()):
|
for row in cast (list[VideoRow], c.fetchall ()):
|
||||||
videos.append (self._create_dto_from_row (row, False))
|
videos.append (self._create_dto_from_row (row, False))
|
||||||
@@ -385,7 +387,7 @@ class VideoDao:
|
|||||||
deleted_at = cast (datetime | None, deleted_at)
|
deleted_at = cast (datetime | None, deleted_at)
|
||||||
|
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
videos(
|
videos(
|
||||||
code,
|
code,
|
||||||
@@ -409,7 +411,7 @@ class VideoDao:
|
|||||||
video.title,
|
video.title,
|
||||||
video.description,
|
video.description,
|
||||||
video.uploaded_at,
|
video.uploaded_at,
|
||||||
deleted_at))
|
deleted_at)))
|
||||||
video.id_ = c.lastrowid
|
video.id_ = c.lastrowid
|
||||||
if with_relation_tables:
|
if with_relation_tables:
|
||||||
if video.video_tags is not None:
|
if video.video_tags is not None:
|
||||||
@@ -435,13 +437,13 @@ class VideoDao:
|
|||||||
if not video_ids:
|
if not video_ids:
|
||||||
return
|
return
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
UPDATE
|
UPDATE
|
||||||
videos
|
videos
|
||||||
SET
|
SET
|
||||||
deleted_at = %%s
|
deleted_at = %%s
|
||||||
WHERE
|
WHERE
|
||||||
id IN (%s)""" % ', '.join (['%s'] * len (video_ids)), (at, *video_ids))
|
id IN (%s)""" % ', '.join (['%s'] * len (video_ids)), (at, *video_ids)))
|
||||||
|
|
||||||
def _create_dto_from_row (
|
def _create_dto_from_row (
|
||||||
self,
|
self,
|
||||||
@@ -493,7 +495,7 @@ class VideoTagDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> list[VideoTagDto]:
|
) -> list[VideoTagDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
video_id,
|
video_id,
|
||||||
@@ -505,7 +507,7 @@ class VideoTagDao:
|
|||||||
WHERE
|
WHERE
|
||||||
video_id = %s
|
video_id = %s
|
||||||
ORDER BY
|
ORDER BY
|
||||||
id""", (video_id,))
|
id""", (video_id,)))
|
||||||
video_tags: list[VideoTagDto] = []
|
video_tags: list[VideoTagDto] = []
|
||||||
for row in cast (list[VideoTagRow], c.fetchall ()):
|
for row in cast (list[VideoTagRow], c.fetchall ()):
|
||||||
video_tags.append (self._create_dto_from_row (row, with_relation_tables))
|
video_tags.append (self._create_dto_from_row (row, with_relation_tables))
|
||||||
@@ -517,7 +519,7 @@ class VideoTagDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> list[VideoTagDto]:
|
) -> list[VideoTagDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
video_id,
|
video_id,
|
||||||
@@ -530,7 +532,7 @@ class VideoTagDao:
|
|||||||
video_id = %s
|
video_id = %s
|
||||||
AND (untagged_at IS NULL)
|
AND (untagged_at IS NULL)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
id""", (video_id,))
|
id""", (video_id,)))
|
||||||
video_tags: list[VideoTagDto] = []
|
video_tags: list[VideoTagDto] = []
|
||||||
for row in cast (list[VideoTagRow], c.fetchall ()):
|
for row in cast (list[VideoTagRow], c.fetchall ()):
|
||||||
video_tags.append (self._create_dto_from_row (row, with_relation_tables))
|
video_tags.append (self._create_dto_from_row (row, with_relation_tables))
|
||||||
@@ -543,7 +545,7 @@ class VideoTagDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> VideoTagDto | None:
|
) -> VideoTagDto | None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
video_id,
|
video_id,
|
||||||
@@ -554,7 +556,7 @@ class VideoTagDao:
|
|||||||
video_tags
|
video_tags
|
||||||
WHERE
|
WHERE
|
||||||
video_id = %s
|
video_id = %s
|
||||||
AND tag_id = %s""", (video_id, tag_id))
|
AND tag_id = %s""", (video_id, tag_id)))
|
||||||
row = cast (VideoTagRow, c.fetchone ())
|
row = cast (VideoTagRow, c.fetchone ())
|
||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
@@ -573,7 +575,7 @@ class VideoTagDao:
|
|||||||
untagged_at = cast (date | None, untagged_at)
|
untagged_at = cast (date | None, untagged_at)
|
||||||
|
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
video_tags(
|
video_tags(
|
||||||
video_id,
|
video_id,
|
||||||
@@ -586,7 +588,7 @@ class VideoTagDao:
|
|||||||
%s,
|
%s,
|
||||||
%s,
|
%s,
|
||||||
%s)""", (video_tag.video_id, video_tag.tag_id,
|
%s)""", (video_tag.video_id, video_tag.tag_id,
|
||||||
video_tag.tagged_at, untagged_at))
|
video_tag.tagged_at, untagged_at)))
|
||||||
video_tag.id_ = c.lastrowid
|
video_tag.id_ = c.lastrowid
|
||||||
if with_relation_tables:
|
if with_relation_tables:
|
||||||
if video_tag.video is not None:
|
if video_tag.video is not None:
|
||||||
@@ -607,7 +609,7 @@ class VideoTagDao:
|
|||||||
untagged_at = cast (date | None, untagged_at)
|
untagged_at = cast (date | None, untagged_at)
|
||||||
|
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
video_tags(
|
video_tags(
|
||||||
video_id,
|
video_id,
|
||||||
@@ -627,7 +629,7 @@ class VideoTagDao:
|
|||||||
untagged_at = VALUES(untagged_at)""", (video_tag.video_id,
|
untagged_at = VALUES(untagged_at)""", (video_tag.video_id,
|
||||||
video_tag.tag_id,
|
video_tag.tag_id,
|
||||||
video_tag.tagged_at,
|
video_tag.tagged_at,
|
||||||
untagged_at))
|
untagged_at)))
|
||||||
video_tag.id_ = c.lastrowid
|
video_tag.id_ = c.lastrowid
|
||||||
if with_relation_tables:
|
if with_relation_tables:
|
||||||
if video_tag.video is not None:
|
if video_tag.video is not None:
|
||||||
@@ -652,14 +654,14 @@ class VideoTagDao:
|
|||||||
if not tag_ids:
|
if not tag_ids:
|
||||||
return
|
return
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
UPDATE
|
UPDATE
|
||||||
video_tags
|
video_tags
|
||||||
SET
|
SET
|
||||||
untagged_at = %%s
|
untagged_at = %%s
|
||||||
WHERE
|
WHERE
|
||||||
video_id = %%s
|
video_id = %%s
|
||||||
AND tag_ids IN (%s)""" % ', '.join (['%s'] * len (tag_ids)), (now, video_id, *tag_ids))
|
AND tag_ids IN (%s)""" % ', '.join (['%s'] * len (tag_ids)), (now, video_id, *tag_ids)))
|
||||||
|
|
||||||
def _create_dto_from_row (
|
def _create_dto_from_row (
|
||||||
self,
|
self,
|
||||||
@@ -700,14 +702,14 @@ class TagDao:
|
|||||||
tag_id: int,
|
tag_id: int,
|
||||||
) -> TagDto | None:
|
) -> TagDto | None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
name
|
name
|
||||||
FROM
|
FROM
|
||||||
tags
|
tags
|
||||||
WHERE
|
WHERE
|
||||||
id = %s""", (tag_id,))
|
id = %s""", (tag_id,)))
|
||||||
row = cast (TagRow | None, c.fetchone ())
|
row = cast (TagRow | None, c.fetchone ())
|
||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
@@ -718,14 +720,14 @@ class TagDao:
|
|||||||
tag_name: str,
|
tag_name: str,
|
||||||
) -> TagDto | None:
|
) -> TagDto | None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
name
|
name
|
||||||
FROM
|
FROM
|
||||||
tags
|
tags
|
||||||
WHERE
|
WHERE
|
||||||
name = %s""", (tag_name,))
|
name = %s""", (tag_name,)))
|
||||||
row = cast (TagRow | None, c.fetchone ())
|
row = cast (TagRow | None, c.fetchone ())
|
||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
@@ -736,11 +738,11 @@ class TagDao:
|
|||||||
tag: TagDto,
|
tag: TagDto,
|
||||||
) -> None:
|
) -> None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
tags(name)
|
tags(name)
|
||||||
VALUES
|
VALUES
|
||||||
(%s)""", (tag.name,))
|
(%s)""", (tag.name,)))
|
||||||
tag.id_ = c.lastrowid
|
tag.id_ = c.lastrowid
|
||||||
|
|
||||||
def upsert (
|
def upsert (
|
||||||
@@ -748,13 +750,13 @@ class TagDao:
|
|||||||
tag: TagDto,
|
tag: TagDto,
|
||||||
) -> None:
|
) -> None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
tags(name)
|
tags(name)
|
||||||
VALUES
|
VALUES
|
||||||
(%s)
|
(%s)
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
name = VALUES(name)""", (tag.name,))
|
name = VALUES(name)""", (tag.name,)))
|
||||||
tag.id_ = c.lastrowid
|
tag.id_ = c.lastrowid
|
||||||
|
|
||||||
def _create_dto_from_row (
|
def _create_dto_from_row (
|
||||||
@@ -784,7 +786,7 @@ class VideoHistoryDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> list[VideoHistoryDto]:
|
) -> list[VideoHistoryDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
video_id,
|
video_id,
|
||||||
@@ -793,7 +795,7 @@ class VideoHistoryDao:
|
|||||||
FROM
|
FROM
|
||||||
video_histories
|
video_histories
|
||||||
WHERE
|
WHERE
|
||||||
video_id = %s""", (video_id,))
|
video_id = %s""", (video_id,)))
|
||||||
video_histories: list[VideoHistoryDto] = []
|
video_histories: list[VideoHistoryDto] = []
|
||||||
for row in cast (list[VideoHistoryRow], c.fetchall ()):
|
for row in cast (list[VideoHistoryRow], c.fetchall ()):
|
||||||
video_histories.append (self._create_dto_from_row (row, with_relation_tables))
|
video_histories.append (self._create_dto_from_row (row, with_relation_tables))
|
||||||
@@ -804,7 +806,7 @@ class VideoHistoryDao:
|
|||||||
video_history: VideoHistoryDto,
|
video_history: VideoHistoryDto,
|
||||||
) -> None:
|
) -> None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
video_histories(
|
video_histories(
|
||||||
video_id,
|
video_id,
|
||||||
@@ -816,14 +818,14 @@ class VideoHistoryDao:
|
|||||||
%s,
|
%s,
|
||||||
%s)""", (video_history.video_id,
|
%s)""", (video_history.video_id,
|
||||||
video_history.fetched_at,
|
video_history.fetched_at,
|
||||||
video_history.views_count))
|
video_history.views_count)))
|
||||||
|
|
||||||
def upsert (
|
def upsert (
|
||||||
self,
|
self,
|
||||||
video_history: VideoHistoryDto,
|
video_history: VideoHistoryDto,
|
||||||
) -> None:
|
) -> None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
video_histories(
|
video_histories(
|
||||||
video_id,
|
video_id,
|
||||||
@@ -839,7 +841,7 @@ class VideoHistoryDao:
|
|||||||
fetched_at,
|
fetched_at,
|
||||||
views_count""", (video_history.video_id,
|
views_count""", (video_history.video_id,
|
||||||
video_history.fetched_at,
|
video_history.fetched_at,
|
||||||
video_history.views_count))
|
video_history.views_count)))
|
||||||
|
|
||||||
def upsert_all (
|
def upsert_all (
|
||||||
self,
|
self,
|
||||||
@@ -884,7 +886,7 @@ class CommentDao:
|
|||||||
with_relation_tables: bool,
|
with_relation_tables: bool,
|
||||||
) -> list[CommentDto]:
|
) -> list[CommentDto]:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
video_id,
|
video_id,
|
||||||
@@ -897,7 +899,7 @@ class CommentDao:
|
|||||||
FROM
|
FROM
|
||||||
comments
|
comments
|
||||||
WHERE
|
WHERE
|
||||||
video_id = %s""", (video_id,))
|
video_id = %s""", (video_id,)))
|
||||||
comments: list[CommentDto] = []
|
comments: list[CommentDto] = []
|
||||||
for row in cast (list[CommentRow], c.fetchall ()):
|
for row in cast (list[CommentRow], c.fetchall ()):
|
||||||
comments.append (self._create_dto_from_row (row, with_relation_tables))
|
comments.append (self._create_dto_from_row (row, with_relation_tables))
|
||||||
@@ -916,7 +918,7 @@ class CommentDao:
|
|||||||
vpos_ms = cast (int | None, vpos_ms)
|
vpos_ms = cast (int | None, vpos_ms)
|
||||||
|
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
comments(
|
comments(
|
||||||
video_id,
|
video_id,
|
||||||
@@ -948,7 +950,7 @@ class CommentDao:
|
|||||||
comment.content,
|
comment.content,
|
||||||
comment.posted_at,
|
comment.posted_at,
|
||||||
comment.nico_count,
|
comment.nico_count,
|
||||||
vpos_ms))
|
vpos_ms)))
|
||||||
|
|
||||||
def upsert_all (
|
def upsert_all (
|
||||||
self,
|
self,
|
||||||
@@ -1002,14 +1004,14 @@ class UserDao:
|
|||||||
user_code: str
|
user_code: str
|
||||||
) -> UserDto | None:
|
) -> UserDto | None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
code
|
code
|
||||||
FROM
|
FROM
|
||||||
users
|
users
|
||||||
WHERE
|
WHERE
|
||||||
code = %s""", (user_code,))
|
code = %s""", (user_code,)))
|
||||||
row = cast (UserRow | None, c.fetchone ())
|
row = cast (UserRow | None, c.fetchone ())
|
||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
@@ -1020,11 +1022,11 @@ class UserDao:
|
|||||||
user: UserDto,
|
user: UserDto,
|
||||||
) -> None:
|
) -> None:
|
||||||
with self.conn.cursor (dictionary = True) as c:
|
with self.conn.cursor (dictionary = True) as c:
|
||||||
c.execute ("""
|
print (c.execute ("""
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
users(code)
|
users(code)
|
||||||
VALUES
|
VALUES
|
||||||
(%s)""", (user.code,))
|
(%s)""", (user.code,)))
|
||||||
user.id_ = c.lastrowid
|
user.id_ = c.lastrowid
|
||||||
|
|
||||||
def _create_dto_from_row (
|
def _create_dto_from_row (
|
||||||
|
|||||||
新しい課題から参照
ユーザをブロックする