This commit is contained in:
2025-04-12 23:51:17 -04:00
parent df6490cab0
commit 56c2d1de47
2870 changed files with 3700 additions and 206 deletions

View File

@ -0,0 +1,47 @@
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from app.db.database import Base
class MTGJSONCard(Base):
__tablename__ = "mtgjson_cards"
id = Column(Integer, primary_key=True, index=True)
card_id = Column(String, unique=True, index=True)
name = Column(String)
set_code = Column(String)
uuid = Column(String)
# Identifiers
abu_id = Column(String, nullable=True)
card_kingdom_etched_id = Column(String, nullable=True)
card_kingdom_foil_id = Column(String, nullable=True)
card_kingdom_id = Column(String, nullable=True)
cardsphere_id = Column(String, nullable=True)
cardsphere_foil_id = Column(String, nullable=True)
cardtrader_id = Column(String, nullable=True)
csi_id = Column(String, nullable=True)
mcm_id = Column(String, nullable=True)
mcm_meta_id = Column(String, nullable=True)
miniaturemarket_id = Column(String, nullable=True)
mtg_arena_id = Column(String, nullable=True)
mtgjson_foil_version_id = Column(String, nullable=True)
mtgjson_non_foil_version_id = Column(String, nullable=True)
mtgjson_v4_id = Column(String, nullable=True)
mtgo_foil_id = Column(String, nullable=True)
mtgo_id = Column(String, nullable=True)
multiverse_id = Column(String, nullable=True)
scg_id = Column(String, nullable=True)
scryfall_id = Column(String, nullable=True)
scryfall_card_back_id = Column(String, nullable=True)
scryfall_oracle_id = Column(String, nullable=True)
scryfall_illustration_id = Column(String, nullable=True)
tcgplayer_product_id = Column(String, nullable=True)
tcgplayer_etched_product_id = Column(String, nullable=True)
tnt_id = Column(String, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.current_timestamp())
updated_at = Column(DateTime(timezone=True), onupdate=func.current_timestamp())
# Relationships
skus = relationship("MTGJSONSKU", back_populates="card")

21
app/models/mtgjson_sku.py Normal file
View File

@ -0,0 +1,21 @@
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from app.db.database import Base
class MTGJSONSKU(Base):
__tablename__ = "mtgjson_skus"
id = Column(Integer, primary_key=True, index=True)
sku_id = Column(String, index=True)
product_id = Column(String, index=True)
condition = Column(String)
finish = Column(String)
language = Column(String)
printing = Column(String)
card_id = Column(String, ForeignKey("mtgjson_cards.card_id"))
created_at = Column(DateTime(timezone=True), server_default=func.current_timestamp())
updated_at = Column(DateTime(timezone=True), onupdate=func.current_timestamp())
# Relationships
card = relationship("MTGJSONCard", back_populates="skus")