From cbdfab8366997204e56620e0aacfba06636237ae Mon Sep 17 00:00:00 2001 From: tomo18058 Date: Fri, 11 Jul 2025 00:55:34 +0000 Subject: [PATCH 1/2] feat: add discount_tickets and exchanges models --- backend/db/models/__init__.py | 2 ++ backend/db/models/tables/discount_tickets.py | 16 ++++++++++++++++ backend/db/models/tables/exchanges.py | 12 ++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 backend/db/models/tables/discount_tickets.py create mode 100644 backend/db/models/tables/exchanges.py diff --git a/backend/db/models/__init__.py b/backend/db/models/__init__.py index b04ff17..499247a 100644 --- a/backend/db/models/__init__.py +++ b/backend/db/models/__init__.py @@ -10,5 +10,7 @@ from backend.db.models.tables.mission_results import MissionResult from backend.db.models.tables.ranking_results import RankingResult from backend.db.models.tables.weeks import Week +from backend.db.models.tables.exchanges import Exchange +from backend.db.models.tables.discount_tickets import DiscountTicket # モデルを追加したらここにも追加する! diff --git a/backend/db/models/tables/discount_tickets.py b/backend/db/models/tables/discount_tickets.py new file mode 100644 index 0000000..efd63ba --- /dev/null +++ b/backend/db/models/tables/discount_tickets.py @@ -0,0 +1,16 @@ +from db.models.common import * +from squalchemy import Column, Integer, String, Text, DateTime +from sqlalchemy.sql import func +from backend.db.database import Base + +# 割引券テーブルのモデル +class DiscountTicket(Base): + __tablename__ = "discount_tickets" # データベース上のテーブル名 + + coupon_id = Column(Integer, primary_key=True, autoincrement=True)# クーポンID(主キー、自動採番) + ticket_name = Column(String(100),nullable=False)# 商品名 + description = Column(Text)# 商品の詳細説明 + point_cost = Column(Integer, nullable=False)# このクーポンを交換するために必要なBPポイント + image_url = Column(String(255))# 商品画像のURL( + created_at = Column(DateTime(timezone=True),server_default=func.now()) # 登録日時(デフォルトで現在時刻) + update_at = Column(DateTime(timezone=True),onupdate=func.now())# 更新日時(更新時に自動で現在時刻をセット) \ No newline at end of file diff --git a/backend/db/models/tables/exchanges.py b/backend/db/models/tables/exchanges.py new file mode 100644 index 0000000..d79a835 --- /dev/null +++ b/backend/db/models/tables/exchanges.py @@ -0,0 +1,12 @@ +from db.models.common import * +from sqlalchemy import Column,Integer, String, DateTime, ForeignKey +from sqlalchemy.sql import func +from backend.db.database import Base #既存のBaseクラスを使用 + +class Exchange(Base): + __tablename__ = "exchanges" + + exchange_id = Column(Integer, primary_key=True, autoincrement=True) + user_id = Column(String(64), nullable=False) + coupon_id = Column(Integer, ForeignKey("discount_tickets.coupon_id"), nullable=False) + exchanged_at = Column(DateTime(timezone=True), server_default=func.now()) \ No newline at end of file From b6995e722b1386bdf6462b8617af130068104a92 Mon Sep 17 00:00:00 2001 From: tomo18058 Date: Fri, 11 Jul 2025 01:17:19 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E3=82=B9=E3=83=9A=E3=83=AB=E3=83=9F?= =?UTF-8?q?=E3=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/db/models/tables/discount_tickets.py | 4 ++-- backend/db/models/tables/exchanges.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/db/models/tables/discount_tickets.py b/backend/db/models/tables/discount_tickets.py index efd63ba..a5a5b44 100644 --- a/backend/db/models/tables/discount_tickets.py +++ b/backend/db/models/tables/discount_tickets.py @@ -1,7 +1,7 @@ from db.models.common import * -from squalchemy import Column, Integer, String, Text, DateTime +from sqlalchemy import Column, Integer, String, Text, DateTime from sqlalchemy.sql import func -from backend.db.database import Base +# from backend.db.database import Base # 割引券テーブルのモデル class DiscountTicket(Base): diff --git a/backend/db/models/tables/exchanges.py b/backend/db/models/tables/exchanges.py index d79a835..89c3d9c 100644 --- a/backend/db/models/tables/exchanges.py +++ b/backend/db/models/tables/exchanges.py @@ -1,7 +1,7 @@ from db.models.common import * from sqlalchemy import Column,Integer, String, DateTime, ForeignKey from sqlalchemy.sql import func -from backend.db.database import Base #既存のBaseクラスを使用 +# from backend.db.database import Base #既存のBaseクラスを使用 class Exchange(Base): __tablename__ = "exchanges"