From e6f58e621d06bbccfe0a2b8c07feafd0f8effe8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=BF=E3=81=A6=E3=82=8B=E3=81=9E?= Date: Fri, 24 Apr 2026 23:25:34 +0900 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E8=B7=A1=E5=AF=BE=E8=B1=A1=E5=8B=95?= =?UTF-8?q?=E7=94=BB=E3=83=90=E3=83=AB=E3=82=AF=20UPSERT=20(#22)=20(#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #22 インポート漏れ修正 #22 #22 Co-authored-by: miteruzo Reviewed-on: https://git.miteruzo.com/miteruzo/nizika_nico/pulls/23 --- db/models.py | 6 ++++++ tracked_videos/put_bulk_upsert.py | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tracked_videos/put_bulk_upsert.py diff --git a/db/models.py b/db/models.py index b254c1b..918580d 100644 --- a/db/models.py +++ b/db/models.py @@ -64,6 +64,12 @@ class TrackedVideo (Model): __timestamps__ = False + def upsert ( + self, + *args: str, + ) -> None: + super ().upsert ('code') + class User (Model): id: int diff --git a/tracked_videos/put_bulk_upsert.py b/tracked_videos/put_bulk_upsert.py new file mode 100644 index 0000000..fa74d89 --- /dev/null +++ b/tracked_videos/put_bulk_upsert.py @@ -0,0 +1,19 @@ +import sys + +from db.config import DB +from db.models import TrackedVideo + +DB + + +def main ( + video_codes: list[str], +) -> None: + for code in video_codes: + tv = TrackedVideo () + tv.code = code + tv.upsert () + + +if __name__ == '__main__': + main (sys.argv[1:])