Coin.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from sqlalchemy import create_engine, ForeignKey
  2. from sqlalchemy import Column, Date, Integer, String, DateTime, FLOAT
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from sqlalchemy.orm import relationship, backref
  5. engine = create_engine('sqlite:///coins.db', echo=False)
  6. Base = declarative_base()
  7. ########################################################################
  8. class Coin(Base):
  9. """"""
  10. __tablename__ = "coin"
  11. row_id = Column(Integer, primary_key=True)
  12. id = Column(String)
  13. name = Column(String)
  14. symbol = Column(String)
  15. #----------------------------------------------------------------------
  16. def __init__(self, id, name, symbol):
  17. """"""
  18. self.id = id
  19. self.name = name
  20. self.symbol = symbol
  21. def __repr__(self):
  22. return "<Coin id='" + str(self.id) + "'>"
  23. class CoinMarketPosition(Base):
  24. """"""
  25. __tablename__ = "coin_position"
  26. row_id = Column(Integer, primary_key=True)
  27. coin_id = Column(Integer, ForeignKey("coin.row_id"))
  28. date = Column(DateTime)
  29. total_volumes = Column(FLOAT)
  30. market_caps = Column(FLOAT)
  31. prices = Column(FLOAT)
  32. #----------------------------------------------------------------------
  33. def __init__(self, coin_id, date, total_volumes, market_caps, prices):
  34. """"""
  35. self.coin_id = coin_id
  36. self.date = date
  37. self.total_volumes = total_volumes
  38. self.market_caps = market_caps
  39. self.prices = prices
  40. def __repr__(self):
  41. return "<CoinMarketPosition coin='" + str(self.coin_id) +"' date='" + str(self.date) + "'>"
  42. # create tables
  43. Base.metadata.create_all(engine)