Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Service(Base):
- __tablename__ = 'service'
- service_id = Column(Integer, primary_key=True)
- name = Column(String(256))
- desc = Column(String(512))
- period = Column(Integer) # how long the service is active for this price
- active = Column(Integer) # is this offering still valid?
- price = Column(Float)
- one_time = Column(Integer) # 15 days one time offer are now allowed to repeat
- created_on = Column(TIMESTAMP, server_default=func.now())
- features = association_proxy('service_features', 'feature')
- class Feature(Base):
- __tablename__ = 'feature'
- feature_id = Column(Integer, primary_key=True)
- name = Column(String(256), primary_key=True)
- desc = Column(String(256), primary_key=True)
- value = Column(Float) # volume/units/etc..
- price = Column(Float)
- class ServiceFeature(Base):
- __tablename__ = 'service_feature'
- service_id = Column(Integer, ForeignKey('service.service_id'), primary_key=True)
- feature_id = Column(Integer, ForeignKey('feature.feature_id'), primary_key=True)
- service = relation('Service', backref='service_features')
- feature = relation('Feature')
- class AccountService(Base):
- __tablename__ = 'account_service'
- account_service_id = Column(Integer, primary_key=True)
- account_id = Column(Integer, ForeignKey('account.account_id'))
- service_id = Column(Integer, ForeignKey('service.service_id'))
- active = Column(Integer)
- starts_on = Column(DateTime)
- expires_on = Column(DateTime)
- created_on = Column(TIMESTAMP, server_default=func.now())
- account = relation('Account', backref='account_services')
- service = relation('Service')
- class AccountFeature(Base):
- __tablename__ = 'account_feature'
- account_service_id = Column(Integer, ForeignKey('account_service.account_service_id'), primary_key=True)
- feature_id = Column(Integer, ForeignKey('feature.feature_id'), primary_key=True)
- value = Column(Float)
- created_on = Column(TIMESTAMP, server_default=func.now())
- class Account(Base):
- __tablename__ = 'account'
- __table_args__ = (
- UniqueConstraint('username', name='unique_username'),
- {}
- )
- account_id = Column(Integer, primary_key=True)
- username = Column(String(256), index=True)
- password = Column(String(256))
- status = Column(String(64)) # locked / needs activation / active etc..
- address_id = Column(Integer, ForeignKey('address.address_id'), primary_key=True)
- created_on = Column(TIMESTAMP, server_default=func.now())
- services = association_proxy('account_services', 'service')
Add Comment
Please, Sign In to add comment