class Auth_UserFees(db.Model): __tablename__ = 'userfees' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, autoincrement=True, primary_key=True, unique=True) user_id = db.Column(db.INTEGER) buyerfee = db.Column(db.DECIMAL(6, 4)) buyerfee_time = db.Column(db.TIMESTAMP()) vendorfee = db.Column(db.DECIMAL(6, 4)) vendorfee_time = db.Column(db.TIMESTAMP())
class UserTimers(db.Model): __tablename__ = 'user_timers' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_user"} id = db.Column(db.INTEGER, autoincrement=True, primary_key=True) user_name = db.Column(db.TEXT) user_id = db.Column(db.Integer) account_created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) last_post = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) last_common_creation = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) last_comment = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) last_report = db.Column(db.TIMESTAMP(), default=datetime.utcnow())
class Noteevents(db.Model): row_id = db.Column(db.Integer, primary_key=True, nullable=False) subject_id = db.Column(db.Integer, nullable=False) hadm_id = db.Column(db.Integer) chartdate = db.Column(db.TIMESTAMP()) charttime = db.Column(db.TIMESTAMP()) storetime = db.Column(db.TIMESTAMP()) category = db.Column(db.VARCHAR(length=50)) description = db.Column(db.VARCHAR(length=255)) cgid = db.Column(db.Integer) iserror = db.Column(db.CHAR(length=1)) text = db.Column(db.TEXT()) admissions = db.relationship('Admissions', backref='noteevents', lazy=True)
class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer(), primary_key=True) role_name = db.Column(db.String(50), nullable=True, unique=True) role_permissions = db.Column(db.Integer()) create_time = db.Column(db.TIMESTAMP(), default=datetime.now) update_time = db.Column(db.TIMESTAMP(), default=datetime.now) def __init__(self, **kwargs): super(Role, self).__init__(**kwargs) if self.role_permissions is None: self.role_permissions = 0 @staticmethod def insert_roles(): roles = { 'EMPLOYEE': [Permission.WEEKLY_REPORT_READ, Permission.WEEKLY_REPORT_WRITE], 'MANAGER': [Permission.WEEKLY_REPORT_READ, Permission.WEEKLY_REPORT_WRITE], 'ADMINISTRATOR': [ Permission.WEEKLY_REPORT_READ, Permission.WEEKLY_REPORT_WRITE, Permission.ADMIN ], } for r in roles: role = Role.query.filter_by(role_name=r).first() if role is None: role = Role(role_name=r) role.reset_permissions() for perm in roles[r]: role.add_permission(perm) db.session.add(role) db.session.commit() def add_permission(self, perm): if not self.has_permission(perm): self.role_permissions += perm def remove_permission(self, perm): if self.has_permission(perm): self.role_permissions -= perm def reset_permissions(self): self.role_permissions = 0 def has_permission(self, perm): return self.role_permissions & perm == perm def __repr__(self): return '<Role %r>' % self.name
class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255), nullable=False) thumbnail = db.Column(db.String(255), nullable=True) description = db.Column(db.Text(), nullable=True) content = db.Column(db.Text(), nullable=False) slug = db.Column(db.String(255), unique=True, nullable=False) # status = db.Column(TINYINT(), doc="0. private, 1.public",server_default="1", nullable=False) status = db.Column(db.Numeric(4, asdecimal=False), doc="0. private, 1.public", server_default="1", nullable=False) # is_featured = db.Column(TINYINT(), doc="0. private, 1.public",server_default="0", nullable=False) is_featured = db.Column(db.Numeric(4, asdecimal=False), doc="0. private, 1.public", server_default="0", nullable=False) view_count = db.Column(db.Integer, server_default="0") category_id = db.Column(db.Integer, db.ForeignKey('categories.id')) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) created_at = db.Column(db.TIMESTAMP(), nullable=True, server_default=db.func.now()) updated_at = db.Column(db.TIMESTAMP(), nullable=True, server_onupdate=db.func.now()) deleted_at = db.Column(db.TIMESTAMP(), nullable=True) # funtion def delete(self): db.session.delete(self) db.session.commit() def update(self, data): for key, item in data.items(): setattr(self, key, item) self.updated_at = datetime.datetime.utcnow() db.session.commit() @staticmethod def get_one_user(id): return Post.query.get(id) """ "Chuyển các thuộc tính về thành chuỗi """ def __repr__(self): return str(self.__dict__)
class Transaction(Base): __tablename__ = 'transactions' donor_id = db.Column('donor_id', db.Integer, db.ForeignKey('donors.id'), nullable=False) type = db.Column('transaction_type', db.CHAR(1), nullable=False) bloodtype_id = db.Column('bloodtype_id', db.Integer, db.ForeignKey('bloodtypes.id'), nullable=True) milliliters = db.Column('milliliters', db.Integer, nullable=False) soft_deleted = db.Column('soft_deleted', db.TIMESTAMP(timezone=False), nullable=True) def __init__(self, donor_id, type, bloodtype_id, milliliters, donor): self.donor_id = donor_id self.type = type self.bloodtype_id = bloodtype_id self.milliliters = milliliters self.donor = donor # Update inventory if type == 'D': bloodtype = Bloodtype.query.filter_by(id=bloodtype_id).first() bloodtype.increase(milliliters) donor.donate(milliliters) elif type == 'W': bloodtype = Bloodtype.query.filter_by(id=bloodtype_id).first() bloodtype.decrease(milliliters) donor.withdraw(milliliters) def __repr__(self): return '<ID: %r>' % (self.id)
class Business(db.Model): __tablename__ = 'business' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_user_business"} id = db.Column(db.INTEGER, autoincrement=True, primary_key=True) user_name = db.Column(db.TEXT) user_id = db.Column(db.Integer, db.ForeignKey('avengers_user.users.id')) business_name = db.Column(db.TEXT) official_business_name = db.Column(db.TEXT) business_tag = db.Column(db.String(150)) business_id = db.Column(db.INTEGER) created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) age = db.Column(db.INTEGER) profileimage = db.Column(db.TEXT) bannerimage = db.Column(db.TEXT) subscription = db.relationship('BusinessFollowers', backref='bizsubscriber', lazy='dynamic') contentownerposts = db.relationship('CommonsPost', backref='bizownerposts', lazy='dynamic', primaryjoin="Business.id == CommonsPost.business_id") biz_stats = db.relationship('BusinessStats', uselist=False, backref='user_biz_stats') biz_info = db.relationship('BusinessInfo', uselist=False, backref='user_biz_info') biz_bio = db.relationship('BusinessSpecificInfo', uselist=False, backref='user_biz_bio') biz_services = db.relationship('BusinessServices', uselist=False, backref='user_biz_services') biz_location = db.relationship('BusinessLocation', uselist=False, backref='user_biz_location') biz_accepts = db.relationship('BusinessAccepts', uselist=False, backref='user_biz_accepts') biz_msgs = db.relationship('Messages', backref='biz_msg', lazy='dynamic') biz_replys = db.relationship('Reply', backref='biz_reply', lazy='dynamic')
class Complete(db.Model): __tablename__: str = "complete" id: int = db.Column(db.Integer, autoincrement=True, primary_key=True) user_id: str = db.Column(db.String(30), db.ForeignKey("user.id"), nullable=False) practice_uuid: str = db.Column(db.String(64), db.ForeignKey("practice.uuid"), nullable=False) timestamp: datetime = db.Column(db.TIMESTAMP(), server_default=db.func.now()) def __init__(self, user_id: str, practice_uuid: str) -> None: self.user_id = user_id self.practice_uuid = practice_uuid def __repr__(self) -> str: return f"<Complete {self.id}>" @staticmethod def add(user_id: str, practice_uuid: str) -> None: db.session.add(Complete(user_id, practice_uuid)) db.session.commit() @staticmethod def is_solved(user_id: str, practice_uuid: str) -> bool: complete: Complete = Complete.query \ .filter_by(user_id=user_id) \ .filter_by(practice_uuid=practice_uuid) \ .first() if complete is not None: return True return False
class DisplayCoins(db.Model): __tablename__ = 'displayrewardcoins' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_coins"} id = db.Column(db.Integer, primary_key=True) created = db.Column(db.TIMESTAMP()) user_name = db.Column(db.String(140)) user_id = db.Column(db.Integer, db.ForeignKey('avengers_user.users.id')) # coin info image_thumbnail_0 = db.Column(db.String(300)) coin_name_0 = db.Column(db.String(140)) coin_rarity_0 = db.Column(db.Integer) coin_description_0 = db.Column(db.TEXT) points_value_0 = db.Column(db.Integer) # coin info image_thumbnail_1 = db.Column(db.String(300)) coin_name_1 = db.Column(db.String(140)) coin_rarity_1 = db.Column(db.Integer) coin_description_1 = db.Column(db.TEXT) points_value_1 = db.Column(db.Integer) seen_by_user = db.Column(db.Integer) new_user_level = db.Column(db.Integer)
class PayoutSubOwner(db.Model): __tablename__ = 'avengers_tips_payout_subowner' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_tips"} id = db.Column(db.Integer, primary_key=True) created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) # identify forum, post, and comment subcommon_id = db.Column(db.Integer) subcommon_name = db.Column(db.String(140)) post_id = db.Column(db.Integer) comment_id = db.Column(db.Integer) sub_owner_user_id = db.Column(db.Integer) sub_owner_user_name = db.Column(db.String(140)) tipper_user_id = db.Column(db.Integer) tipper_user_name = db.Column(db.String(140)) # amounts currency_type = db.Column(db.Integer) amount_btc = db.Column(db.DECIMAL(20, 8)) amount_bch = db.Column(db.DECIMAL(20, 8)) amount_xmr = db.Column(db.DECIMAL(20, 12)) amount_usd = db.Column(db.DECIMAL(20, 2))
class Address(db.Model): __tablename__ = 'address' id = db.Column(db.Integer, primary_key=True) address_id = db.Column(db.String(50), unique=True, nullable=False) public_id = db.Column(db.String(50), nullable=False) house_name = db.Column(db.String(50)) house_number = db.Column(db.String(50)) address_line_1 = db.Column(db.String(150)) address_line_2 = db.Column(db.String(150)) address_line_3 = db.Column(db.String(150)) state_region_county = db.Column(db.String(150)) country_id = db.Column(db.Integer, db.ForeignKey(Country.id)) post_zip_code = db.Column(db.String(30)) created = db.Column(db.TIMESTAMP(), nullable=False, default=datetime.datetime.utcnow) def __init__(self, address_id, public_id, house_name, house_number, address_line_1, address_line_2, address_line_3, state_region_county, country_id, post_zip_code): self.address_id = address_id self.public_id = public_id self.house_name = house_name self.house_number = house_number self.address_line_1 = address_line_1 self.address_line_2 = address_line_2 self.address_line_3 = address_line_3 self.state_region_county = state_region_county self.country_id = country_id self.post_zip_code = post_zip_code def __repr__(self): # pragma: no cover return '<id Address {}>'.format(self.id)
class Btc_TransactionsBtc(db.Model): __tablename__ = 'btc_transactions' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public"} id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.INTEGER) category = db.Column(db.INTEGER) senderid = db.Column(db.INTEGER) confirmations = db.Column(db.INTEGER) txid = db.Column(db.TEXT) amount = db.Column(db.DECIMAL(20, 8)) blockhash = db.Column(db.TEXT) timeoft = db.Column(db.INTEGER) timerecieved = db.Column(db.INTEGER) commentbtc = db.Column(db.TEXT) otheraccount = db.Column(db.INTEGER) address = db.Column(db.TEXT) fee = db.Column(db.DECIMAL(20, 8)) created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) balance = db.Column(db.DECIMAL(20, 8)) orderid = db.Column(db.INTEGER) confirmed = db.Column(db.INTEGER) confirmed_fee = db.Column(db.DECIMAL(20, 8)) digital_currency = db.Column(db.INTEGER)
class Message_PostUser(db.Model): __tablename__ = 'postuser' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, primary_key=True) # type of message official = db.Column(db.Integer) dispute = db.Column(db.Integer) usermsg = db.Column(db.Integer) # info in msg body = db.Column(db.TEXT) subject = db.Column(db.Integer) timestamp = db.Column(db.TIMESTAMP(), index=True, default=datetime.utcnow()) author_id = db.Column(db.Integer) itemid = db.Column(db.Integer) unread = db.Column(db.Integer) modid = db.Column(db.Integer) postid = db.Column(db.Integer) user_id = db.Column(db.Integer) username = db.Column(db.TEXT)
class CasesVerify(db.Model): """verify parts, containing json data(according to json path) verify,\ mysql script verify, and operation//// """ __tablename__ = 'case_verify' id = db.Column(db.Integer, primary_key=True) case_id = db.Column(db.Integer, db.ForeignKey('api_cases.id'), nullable=False) # verify_path is the data(to be verify)'s path in result json verify_path = db.Column(db.String(128)) # verify_expect is the expect value verify_expect = db.Column(db.String(512)) # verify_method 'connect/compare' the result and expect value, e.g:Equal, not Equal verify_method = db.Column(db.String(128)) set_up = db.Column(db.String(256)) set_down = db.Column(db.String(256)) create_time = db.Column(db.TIMESTAMP(True), nullable=True, server_default=text('NOW()')) operator = db.Column(db.String(64), nullable=True) op_time = db.Column( db.DateTime, nullable=True, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) case = db.relationship(APICases, backref='verify')
class APIDoc(db.Model): """API doc""" __tablename__ = 'api_doc' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False, unique=False) moduleID = db.Column(db.Integer, db.ForeignKey('modules.id'), nullable=False) # type = db.Column(db.Integer, nullable=True) # 0 is http, 1 is RPC Api_priority = db.Column(db.Integer) path = db.Column(db.String(512)) # only contain path, NOT contain IP,Port is_https = db.Column(db.Integer, nullable=True, default=0) http_method = db.Column(db.String(16), nullable=False) # get, post, put headers = db.Column(db.Text, nullable=True, default='Content-Type:application/json;charset=utf-8') body = db.Column(db.Text, nullable=True) remark = db.Column(db.Text, nullable=True) create_time = db.Column(db.TIMESTAMP(True), nullable=True, server_default=text('NOW()')) operator = db.Column(db.String(64), nullable=True) op_time = db.Column( db.DateTime, nullable=True, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) module = db.relationship(APIModules, backref='APIDoc') def __repr__(self): return '{}'.format(self.name)
class APICases(db.Model): """http_method: 1 get//2 post//3 del//4 put... ..Change http_method to string field for using requests module easily""" __tablename__ = 'api_cases' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=True, default='interface test') APINameID = db.Column(db.Integer, db.ForeignKey('api_doc.id'), nullable=False) url = db.Column(db.String(512), nullable=True) Api_priority = db.Column(db.Integer) is_https = db.Column(db.Integer, nullable=True, default=0) http_method = db.Column(db.String(16), nullable=True) headers = db.Column(db.Text, nullable=True, default='Content-Type:application/json;charset=utf-8') body = db.Column(db.Text) remark = db.Column(db.Text, nullable=True) http_response = db.Column(db.Text, nullable=True) create_time = db.Column(db.TIMESTAMP(True), nullable=True, server_default=text('NOW()')) operator = db.Column(db.String(64), nullable=True) op_time = db.Column( db.DateTime, nullable=True, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) doc = db.relationship(APIDoc, backref='APICase') def __repr__(self): return '{}'.format(self.name)
class BlueprintTask(db.Model): """ models for blueprint project """ __tablename = 'blueprint_task' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128), nullable=True) content = db.Column(db.String(256), nullable=True) # task deatils high_level = db.Column(db.SmallInteger, nullable=True) # 0 is most important is_complete = db.Column(db.Boolean, nullable=True, default=False) is_cancelled = db.Column(db.Boolean, nullable=True, default=False) is_divided = db.Column( db.Boolean, default=False) # if the main_task divided to subtask by days task_time_propery = db.Column( db.SmallInteger, default=0 ) # task divided days; 0, normal:working day+weekend; 1, working day; 2, weekend delay_days = db.Column(db.SmallInteger, default=0) user_id = db.Column(db.Integer, nullable=True) start_date = db.Column(db.Date, nullable=False) total_days = db.Column(db.SmallInteger, nullable=False, default=1) create_time = db.Column(db.TIMESTAMP(True), nullable=True, server_default=text('NOW()')) operator = db.Column(db.String(64), nullable=True)
class RecentTips(db.Model): __tablename__ = 'tips_stats_recent' __bind_key__ = 'question' __table_args__ = {"schema": "public"} id = db.Column(db.Integer, primary_key=True) # identify forum, post, and comment subcommon_id = db.Column(db.Integer, db.ForeignKey('public.subforum_subforum.id')) post_id = db.Column(db.Integer) comment_id = db.Column(db.Integer) created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) subcommon_name = db.Column(db.String(140)) created_user_id = db.Column(db.Integer) created_user_name = db.Column(db.String(140)) recieved_user_id = db.Column(db.Integer) recieved_user_name = db.Column(db.String(140)) # amounts currency_type = db.Column(db.Integer) amount_btc = db.Column(db.DECIMAL(20, 8)) amount_bch = db.Column(db.DECIMAL(20, 8)) amount_xmr = db.Column(db.DECIMAL(20, 12)) amount_usd = db.Column(db.DECIMAL(20, 2))
class TransactionsBchTest(db.Model): __tablename__ = 'bch_transactions_test' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_wallet_bch_test"} id = db.Column(db.Integer, primary_key=True, autoincrement=True) category = db.Column(db.INTEGER) user_id = db.Column(db.INTEGER, db.ForeignKey('avengers_user.users.id')) senderid = db.Column(db.INTEGER) confirmations = db.Column(db.INTEGER) txid = db.Column(db.TEXT) amount = db.Column(db.DECIMAL(20, 8)) blockhash = db.Column(db.TEXT) timeoft = db.Column(db.INTEGER) timerecieved = db.Column(db.INTEGER) commentbch = db.Column(db.TEXT) otheraccount = db.Column(db.INTEGER) address = db.Column(db.TEXT) fee = db.Column(db.DECIMAL(20, 8)) created = db.Column(db.TIMESTAMP(), default=datetime.utcnow()) balance = db.Column(db.DECIMAL(20, 8)) orderid = db.Column(db.INTEGER) confirmed = db.Column(db.INTEGER) confirmed_fee = db.Column(db.DECIMAL(20, 8)) digital_currency = db.Column(db.INTEGER)
class option_strategy(db.Model): __tablename__ = 'option_strategy' __table_args__ = {"useexisting": True} ID = db.Column(db.Integer, primary_key=True) STRATEGY_NAME = db.Column(db.String(64), nullable=False) REMARK = db.Column(db.String(255)) CREATETIME = db.Column(db.TIMESTAMP(True))
class Message_Post(db.Model): __tablename__ = 'post' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, primary_key=True) timestamp = db.Column(db.TIMESTAMP(), index=True, default=datetime.utcnow())
class APIProjects(db.Model): """Class for projects""" __tablename__ = 'projects' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True, nullable=False) remark = db.Column(db.String(64), nullable=True) create_time = db.Column(db.TIMESTAMP(True), nullable=True, server_default=text('NOW()')) operator = db.Column(db.String(64), nullable=True) op_time = db.Column( db.TIMESTAMP(True), nullable=False, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) def __repr__(self): return '{}'.format(self.name)
class Service_UpdateLog(db.Model): __tablename__ = 'updatelog' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, primary_key=True, autoincrement=True) header = db.Column(db.INTEGER) body = db.Column(db.INTEGER) dateofupdate = db.Column(db.TIMESTAMP())
class SubForums(db.Model): __tablename__ = 'avengers_subforum_subforum' __bind_key__ = 'avengers' __table_args__ = {"schema": "avengers_subforum"} id = db.Column(db.Integer, primary_key=True) posts = db.relationship('CommonsPost', backref='posts', lazy='dynamic') subscription = db.relationship('Subscribed', backref='subscriber', lazy='dynamic') privmembers = db.relationship('PrivateMembers', backref='privatemembers', lazy='dynamic') recenttips = db.relationship('RecentTips', backref='recentips', lazy='dynamic') subcustom = db.relationship('SubForumCustom', backref='custom', uselist=False) custominfoone = db.relationship('SubForumCustomInfoOne', backref='infoone', uselist=False) substats = db.relationship('SubForumStats', backref='stats', uselist=False) reported_posts = db.relationship('ReportedPosts', backref='reportedposts', lazy='dynamic') reported_comments = db.relationship('ReportedComments', backref='reportedcomments', lazy='dynamic') mods = db.relationship('Mods', backref='mods', lazy='dynamic') banned = db.relationship('Banned', backref='banned', lazy='dynamic') muted = db.relationship('Muted', backref='muted', lazy='dynamic') subcommon_name = db.Column(db.String(140)) # date created created = db.Column(db.TIMESTAMP(), default=datetime.utcnow) creator_user_id = db.Column(db.Integer) creator_user_name = db.Column(db.String(140)) type_of_subcommon = db.Column(db.Integer) exp_required = db.Column(db.Integer) age_required = db.Column(db.Integer) allow_text_posts = db.Column(db.Integer) allow_url_posts = db.Column(db.Integer) allow_image_posts = db.Column(db.Integer) total_exp_subcommon = db.Column(db.Integer) members = db.Column(db.Integer) mini_image = db.Column(db.String(140)) room_banned = db.Column(db.Integer) room_suspended = db.Column(db.Integer) room_deleted = db.Column(db.Integer) description = db.Column(db.TEXT) description_clean = db.Column(db.TEXT) def __repr__(self): return '<Subcommon {}>'.format(self.subcommon_name) @staticmethod def on_changed_body(target, value, oldvalue, initiator): allowed_tags = ['a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li', 'ol', 'pre', 'strong', 'ul', 'h1', 'h2', 'h3', 'p', 'img', 'video', 'div', 'iframe', 'p', 'br', 'span', 'hr', 'src', 'class'] allowed_attrs = { 'a': ['href', 'rel'], 'img': ['src', 'alt'] } target.description_clean = bleach.linkify(bleach.clean( markdown(value, output_format='html'), tags=allowed_tags, strip=True, attributes=allowed_attrs))
class Race(db.Model): __tablename__ = "Race" ID = db.Column(db.Integer, primary_key=True) RaceDate = db.Column(db.TIMESTAMP()) RaceCourseCode = db.Column(db.String(2)) RaceName = db.Column(db.String(150)) RaceDayID = db.Column(db.Integer, ForeignKey('RaceDay.ID')) RaceNumber = db.Column(db.Integer) RaceType = db.Column(db.String(10)) #CLASS ABBFORM 4S 3 HKG1 G1 Gr RaceGoing = db.Column(db.String(10)) #GF GY Y RaceRating = db.Column(db.String(10)) #80-60 RaceSurface = db.Column(db.String(5)) #AWT or C+3 A RaceDistance = db.Column(Integer) # 1000 UTCRaceTime = db.Column(db.TIMESTAMP()) #exact jump time updatable TrackWidth = db.Column(db.Float) Result = db.Column(db.String(20)) R1 = db.Column(db.Integer) R2 = db.Column(db.Integer) R3 = db.Column(db.Integer) R4 = db.Column(db.Integer) WinOdds = db.Column(db.Float) FavPos = db.Column(db.Integer) FavOdds = db.Column(db.Float) NoRunners = db.Column(db.Integer) #count runners TrioDiv = db.Column(db.Float) TierceDiv = db.Column(db.Float) F4Div = db.Column(db.Float) QuartetDiv = db.Column(db.Float) runners = relationship("Runner") def __init__(self, RaceDayID, RaceDate, RaceCourseCode, RaceNumber, Result, WinOdds, FavPos, FavOdds, NoRunners, R1, R2, R3, R4): self.RaceDayID = RaceDayID self.RaceDate = RaceDate self.RaceCourseCode = RaceCourseCode self.RaceNumber = RaceNumber self.Result = Result self.WinOdds = WinOdds self.FavPos = FavPos self.FavOdds = FavOdds self.NoRunners = NoRunners self.R1 = R1 self.R2 = R2 self.R3 = R3 self.R4 = R4
class BaseModel(db.Model): __abstract__ = True ## 声明当前类为抽象类,被继承,调用不会被创建 id = db.Column(db.Integer, primary_key=True, autoincrement=True) create_by = db.Column(db.String(64), comment="创建者") created_at = db.Column(db.TIMESTAMP(True), comment="创建时间", nullable=False, server_default=func.now()) update_by = db.Column(db.String(64), comment="更新者") updated_at = db.Column(db.TIMESTAMP(True), comment="更新时间", nullable=False, server_default=func.now(), onupdate=func.now()) remark = db.Column(db.String(500), comment="备注") def save(self): ''' 新增数据 :return: ''' db.session.add(self) db.session.commit() def update(self): ''' 更新数据 :return: ''' db.session.merge(self) db.session.commit() def delete(self): ''' 删除数据 :return: ''' db.session.delete(self) db.session.commit() def save_all(self, data): ''' 保存多条数据 :param data: :return: ''' db.session.execute( self.__table__.insert(), data ) db.session.commit()
class MockItem(db.Model): """ Contain mockID, one mockID should correspond one MockJson or more status: 1 is valid """ __talbename__ = 'mockItem' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False) remark = db.Column(db.String(512)) status = db.Column(db.Integer, default=1) groupID = db.Column(db.Integer) operator = db.Column(db.String(512), nullable=False) reserveParam1 = db.Column(db.String(512)) reserveParam2 = db.Column(db.String(512)) update_time = db.Column(db.TIMESTAMP(True), nullable=False, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) create_time = db.Column(db.TIMESTAMP(True), server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))
class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255), nullable=False) thumbnail = db.Column(db.String(255), nullable=True) description = db.Column(db.Text(), nullable=True) created_at = db.Column(db.TIMESTAMP(), nullable=True, server_default=db.func.now()) updated_at = db.Column(db.TIMESTAMP(), nullable=True, server_default=db.func.now(), server_onupdate=db.func.now()) """ "Chuyển các thuộc tính về thành chuỗi """ def __repr__(self): return str(self.__dict__)
class Admin_ClearnetFeeHoldingsBCH(db.Model): __tablename__ = 'account_fee_holdings_btc_cash' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, primary_key=True, autoincrement=True, unique=True) amount = db.Column(db.DECIMAL(20, 8)) timestamp = db.Column(db.TIMESTAMP(), index=True) total = db.Column(db.DECIMAL(20, 8))
class Vendor_VendorVerification(db.Model): __tablename__ = 'vendorverification' __bind_key__ = 'clearnet' __table_args__ = {"schema": "public", 'extend_existing': True} id = db.Column(db.Integer, primary_key=True, autoincrement=True) vendor_id = db.Column(db.INTEGER) vendor_level = db.Column(db.INTEGER) timestamp = db.Column(db.TIMESTAMP()) amount = db.Column(db.DECIMAL(20, 8))