diff --git a/backend/db/models/__init__.py b/backend/db/models/__init__.py index 246819e..64fb84f 100644 --- a/backend/db/models/__init__.py +++ b/backend/db/models/__init__.py @@ -10,6 +10,9 @@ 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 from backend.db.models.tables.bp_entries import BpEntry from backend.db.models.tables.user_week_preference import UserWeekPreference + diff --git a/backend/db/models/tables/discount_tickets.py b/backend/db/models/tables/discount_tickets.py new file mode 100644 index 0000000..a5a5b44 --- /dev/null +++ b/backend/db/models/tables/discount_tickets.py @@ -0,0 +1,16 @@ +from db.models.common import * +from sqlalchemy 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..89c3d9c --- /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