Guest User

Untitled

a guest
Jan 24th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. class Service(Base):
  2. __tablename__ = 'service'
  3.  
  4. service_id = Column(Integer, primary_key=True)
  5. name = Column(String(256))
  6. desc = Column(String(512))
  7. period = Column(Integer) # how long the service is active for this price
  8. active = Column(Integer) # is this offering still valid?
  9. price = Column(Float)
  10. one_time = Column(Integer) # 15 days one time offer are now allowed to repeat
  11. created_on = Column(TIMESTAMP, server_default=func.now())
  12. features = association_proxy('service_features', 'feature')
  13.  
  14. class Feature(Base):
  15. __tablename__ = 'feature'
  16.  
  17. feature_id = Column(Integer, primary_key=True)
  18. name = Column(String(256), primary_key=True)
  19. desc = Column(String(256), primary_key=True)
  20. value = Column(Float) # volume/units/etc..
  21. price = Column(Float)
  22.  
  23. class ServiceFeature(Base):
  24. __tablename__ = 'service_feature'
  25.  
  26. service_id = Column(Integer, ForeignKey('service.service_id'), primary_key=True)
  27. feature_id = Column(Integer, ForeignKey('feature.feature_id'), primary_key=True)
  28. service = relation('Service', backref='service_features')
  29. feature = relation('Feature')
  30.  
  31.  
  32. class AccountService(Base):
  33. __tablename__ = 'account_service'
  34.  
  35. account_service_id = Column(Integer, primary_key=True)
  36. account_id = Column(Integer, ForeignKey('account.account_id'))
  37. service_id = Column(Integer, ForeignKey('service.service_id'))
  38. active = Column(Integer)
  39. starts_on = Column(DateTime)
  40. expires_on = Column(DateTime)
  41. created_on = Column(TIMESTAMP, server_default=func.now())
  42.  
  43. account = relation('Account', backref='account_services')
  44. service = relation('Service')
  45.  
  46. class AccountFeature(Base):
  47. __tablename__ = 'account_feature'
  48.  
  49. account_service_id = Column(Integer, ForeignKey('account_service.account_service_id'), primary_key=True)
  50. feature_id = Column(Integer, ForeignKey('feature.feature_id'), primary_key=True)
  51. value = Column(Float)
  52. created_on = Column(TIMESTAMP, server_default=func.now())
  53.  
  54.  
  55. class Account(Base):
  56. __tablename__ = 'account'
  57. __table_args__ = (
  58. UniqueConstraint('username', name='unique_username'),
  59. {}
  60. )
  61.  
  62. account_id = Column(Integer, primary_key=True)
  63. username = Column(String(256), index=True)
  64. password = Column(String(256))
  65. status = Column(String(64)) # locked / needs activation / active etc..
  66. address_id = Column(Integer, ForeignKey('address.address_id'), primary_key=True)
  67. created_on = Column(TIMESTAMP, server_default=func.now())
  68. services = association_proxy('account_services', 'service')
Add Comment
Please, Sign In to add comment