162 lines
5.9 KiB
Python
162 lines
5.9 KiB
Python
from sqlalchemy import Column, Integer, String, Float, Boolean, DateTime, ForeignKey
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy.orm import relationship
|
|
from datetime import datetime
|
|
|
|
|
|
Base = declarative_base()
|
|
|
|
class Box(Base):
|
|
__tablename__ = "boxes"
|
|
|
|
id = Column(String, primary_key=True, index=True)
|
|
upload_id = Column(String, ForeignKey("upload_history.upload_id"))
|
|
set_name = Column(String)
|
|
set_code = Column(String)
|
|
type = Column(String)
|
|
cost = Column(Float)
|
|
date_purchased = Column(DateTime)
|
|
date_opened = Column(DateTime)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class ManaboxExportData(Base):
|
|
__tablename__ = "manabox_export_data"
|
|
|
|
id = Column(String, primary_key=True)
|
|
upload_id = Column(String)
|
|
box_id = Column(String, nullable=True)
|
|
name = Column(String)
|
|
set_code = Column(String)
|
|
set_name = Column(String)
|
|
collector_number = Column(String)
|
|
foil = Column(String)
|
|
rarity = Column(String)
|
|
quantity = Column(Integer)
|
|
manabox_id = Column(String)
|
|
scryfall_id = Column(String)
|
|
purchase_price = Column(Float)
|
|
misprint = Column(String)
|
|
altered = Column(String)
|
|
condition = Column(String)
|
|
language = Column(String)
|
|
purchase_price_currency = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class UploadHistory(Base):
|
|
__tablename__ = "upload_history"
|
|
|
|
id = Column(String, primary_key=True)
|
|
upload_id = Column(String)
|
|
filename = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
status = Column(String)
|
|
|
|
class TCGPlayerGroups(Base):
|
|
__tablename__ = 'tcgplayer_groups'
|
|
|
|
id = Column(String, primary_key=True)
|
|
group_id = Column(Integer)
|
|
name = Column(String)
|
|
abbreviation = Column(String)
|
|
is_supplemental = Column(String)
|
|
published_on = Column(String)
|
|
modified_on = Column(String)
|
|
category_id = Column(Integer)
|
|
|
|
class TCGPlayerInventory(Base):
|
|
__tablename__ = 'tcgplayer_inventory'
|
|
|
|
# TCGplayer Id,Product Line,Set Name,Product Name,Title,Number,Rarity,Condition,TCG Market Price,TCG Direct Low,TCG Low Price With Shipping,TCG Low Price,Total Quantity,Add to Quantity,TCG Marketplace Price,Photo URL
|
|
id = Column(String, primary_key=True)
|
|
export_id = Column(String)
|
|
tcgplayer_product_id = Column(String, ForeignKey("tcgplayer_product.id"), nullable=True)
|
|
tcgplayer_id = Column(Integer)
|
|
product_line = Column(String)
|
|
set_name = Column(String)
|
|
product_name = Column(String)
|
|
title = Column(String)
|
|
number = Column(String)
|
|
rarity = Column(String)
|
|
condition = Column(String)
|
|
tcg_market_price = Column(Float)
|
|
tcg_direct_low = Column(Float)
|
|
tcg_low_price_with_shipping = Column(Float)
|
|
tcg_low_price = Column(Float)
|
|
total_quantity = Column(Integer)
|
|
add_to_quantity = Column(Integer)
|
|
tcg_marketplace_price = Column(Float)
|
|
photo_url = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class TCGPlayerExportHistory(Base):
|
|
__tablename__ = 'tcgplayer_export_history'
|
|
|
|
id = Column(String, primary_key=True)
|
|
type = Column(String)
|
|
pricing_export_id = Column(String)
|
|
inventory_export_id = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class TCGPlayerPricingHistory(Base):
|
|
__tablename__ = 'tcgplayer_pricing_history'
|
|
|
|
id = Column(String, primary_key=True)
|
|
tcgplayer_product_id = Column(String, ForeignKey("tcgplayer_product.id"))
|
|
export_id = Column(String)
|
|
group_id = Column(Integer)
|
|
tcgplayer_id = Column(Integer)
|
|
tcg_market_price = Column(Float)
|
|
tcg_direct_low = Column(Float)
|
|
tcg_low_price_with_shipping = Column(Float)
|
|
tcg_low_price = Column(Float)
|
|
tcg_marketplace_price = Column(Float)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class TCGPlayerProduct(Base):
|
|
__tablename__ = 'tcgplayer_product'
|
|
|
|
id = Column(String, primary_key=True)
|
|
group_id = Column(Integer)
|
|
tcgplayer_id = Column(Integer)
|
|
product_line = Column(String)
|
|
set_name = Column(String)
|
|
product_name = Column(String)
|
|
title = Column(String)
|
|
number = Column(String)
|
|
rarity = Column(String)
|
|
condition = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class ManaboxTCGPlayerMapping(Base):
|
|
__tablename__ = 'manabox_tcgplayer_mapping'
|
|
|
|
id = Column(String, primary_key=True)
|
|
manabox_id = Column(String, ForeignKey("manabox_export_data.id"))
|
|
tcgplayer_id = Column(Integer, ForeignKey("tcgplayer_inventory.tcgplayer_id"))
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class SetCodeGroupIdMapping(Base):
|
|
__tablename__ = 'set_code_group_id_mapping'
|
|
|
|
id = Column(String, primary_key=True)
|
|
set_code = Column(String)
|
|
group_id = Column(Integer)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
class UnmatchedManaboxData(Base):
|
|
__tablename__ = 'unmatched_manabox_data'
|
|
|
|
id = Column(String, primary_key=True)
|
|
manabox_id = Column(String, ForeignKey("manabox_export_data.id"))
|
|
reason = Column(String)
|
|
date_created = Column(DateTime, default=datetime.now)
|
|
date_modified = Column(DateTime, default=datetime.now, onupdate=datetime.now) |