class ChapterInfo(db.Model): __tablename__ = 'ChapterInfo' chapId = db.Column(db.CHAR(15), primary_key=True) courseId = db.Column(db.CHAR(8), db.ForeignKey('CourseInfo.courseId'), nullable=False) chapName = db.Column(db.String(64), nullable=False) chapLayer = db.Column(db.SmallInteger, nullable=False)
class Admin(db.Model): __tablename__ = 'Admin' adminName = db.Column(db.Unicode(20), primary_key=True) adminEmail = db.Column(db.Unicode(64), nullable=False) adminPhone = db.Column(db.CHAR(11), nullable=False) adminPass = db.Column(db.CHAR(40), nullable=False) adminType = db.Column(db.CHAR(6), nullable=False) lastLogin = db.Column(db.DateTime, nullable=False)
class User(db.Model): __tablename__ = 'User' userName = db.Column(db.String(20), primary_key=True) userEmail = db.Column(db.String(64), nullable=False) userPhone = db.Column(db.CHAR(11), nullable=False) userPass = db.Column(db.CHAR(40), nullable=False) signUpDate = db.Column(db.DateTime, default=datetime.now(), nullable=False) lastLogin = db.Column(db.DateTime, nullable=False) studyDuration = db.Column(db.Integer, nullable=False) frozenDuration = db.Column(db.Integer, nullable=False)
class Comments(db.Model): __tablename__ = 'Comments' cmtId = db.Column(db.CHAR(10), primary_key=True) userName = db.Column(db.String(20), db.ForeignKey('User.userName'), nullable=False) chapId = db.Column(db.CHAR(15), db.ForeignKey('ChapterInfo.chapId'), nullable=False) cmtContent = db.Column(db.Text, nullable=False) submitTime = db.Column(db.DateTime, nullable=False) isVisible = db.Column(db.CHAR(5), nullable=False)
class CourseDoc(db.Model): __tablename__ = 'CourseDoc' MD5 = db.Column(db.CHAR(40), primary_key=True) chapId = db.Column(db.CHAR(15), db.ForeignKey('ChapterInfo.chapId'), nullable=False) fileName = db.Column(db.String(64), nullable=False) filePath = db.Column(db.String(256), nullable=False) fileSize = db.Column(db.Integer, nullable=False) uploadTime = db.Column(db.DateTime, nullable=False) fileExt = db.Column(db.CHAR(4), nullable=False) isDoc = db.Column(db.Boolean, nullable=False)
class AdminLog(db.Model): __tablename__ = 'AdminLog' logId = db.Column(db.CHAR(40), primary_key=True) adminName = db.Column(db.Unicode(20), db.ForeignKey('Admin.adminName'), nullable=False) logTime = db.Column(db.DateTime, default=datetime.now(), nullable=False) logContent = db.Column(db.Text, nullable=False)
class UserLog(db.Model): __tablename__ = 'UserLog' logId = db.Column(db.CHAR(40), primary_key=True) userName = db.Column(db.String(20), db.ForeignKey('User.userName'), nullable=False) logTime = db.Column(db.DateTime, default=datetime.now(), nullable=False) logContent = db.Column(db.String(5), nullable=False)
class Comments(db.Model): __tablename__ = 'Comments' cmtId = db.Column(db.Integer, primary_key=True, autoincrement=True) rep_cmtId = db.Column(db.Integer, db.ForeignKey('Comments.cmtId'), nullable=True) userName = db.Column(db.Unicode(20), db.ForeignKey('User.userName'), nullable=False) chapId = db.Column(db.CHAR(15), db.ForeignKey('ChapterInfo.chapId'), nullable=True) courseId = db.Column('courseId', db.CHAR(8), db.ForeignKey('CourseInfo.courseId'), nullable=False) cmtContent = db.Column(db.Text, nullable=False) submitTime = db.Column(db.DateTime, nullable=False)
class CourseInfo(db.Model): __tablename__ = 'CourseInfo' courseId = db.Column(db.CHAR(8), primary_key=True) typeId = db.Column(db.Integer, db.ForeignKey('CourseType.typeId'), nullable=False) courseTitle = db.Column(db.String(64), nullable=False) courseTeacher = db.Column(db.String(20), nullable=False) coursePubTime = db.Column(db.DateTime, nullable=False) courseAbstract = db.Column(db.Text, nullable=False)
class User(db.Model): __tablename__ = 'User' userName = db.Column(db.Unicode(20), primary_key=True) userEmail = db.Column(db.Unicode(64), nullable=False) userPhone = db.Column(db.CHAR(11), nullable=False) userPass = db.Column(db.Unicode(100), nullable=False) signUpDate = db.Column(db.DateTime, default=datetime.now(), nullable=False) lastLogin = db.Column(db.DateTime, nullable=False) studyDuration = db.Column(db.Float, nullable=False) frozenDuration = db.Column(db.Float, nullable=False) frozenReason = db.Column(db.Text) courseCount = db.relationship('CourseInfo', secondary=Enroll, backref=db.backref('stds', lazy='dynamic'), lazy='dynamic')
class Route(db.Model): __tablename__ = "route" route_id = db.Column(db.Integer, nullable=False, primary_key=True) route_name = db.Column(db.CHAR(20)) # 反向引用 bus bus = db.relationship("bus", backref="route", lazy="dynamic") # 反向引用 route_station route_station = db.relationship("route_station", backref="route", lazy="dynamic") def __init__(self, route_name): self.route_name = route_name def save(self): db.session.add(self) db.session.commit() def __rper__(self): return '<Route:%r>' % self.__tablename__
class User(db.Model): """ comment= '用户(电话、用户id、用户名、密码、删除类型、邮箱、性别、头像、家庭住址、经度、 纬度、出生日期) '; """ __tablename__ = "user" user_id = db.Column(db.Integer, nullable=False, primary_key=True, comment='用户编号') phone = db.Column(db.CHAR(11), nullable=False, comment='电话') user_name = db.Column(db.String(50), nullable=False, comment='用户名') email = db.Column(db.String(50)) password = db.Column(db.CHAR(32), nullable=False, comment='密码') delete_type = db.Column(db.SMALLINT, nullable=False, default=0, comment='(0:正常,1:删除)') sex = db.Column(db.Integer, nullable=False, comment='性别(0女,1男)') head_img = db.Column(db.String(200), comment='头像') address = db.Column(db.String(100)) born_date = db.Column(db.DATE, nullable=False, comment='出生日期') longitude = db.Column(db.DECIMAL(10, 6)) latitude = db.Column(db.DECIMAL(10, 6)) production = db.Column(db.String(500)) __table_args__ = ( UniqueConstraint('phone', 'user_name'), # 电话和用户名唯一 ) # 反向引用 user_station user_station = db.relationship("user_station", backref="user", lazy="dynamic") # 反向引用 user_bus user_bus = db.relationship("user_bus", backref="user", lazy="dynamic") # 反向引用 user_passenger user_passenger = db.relationship("user_passenger", backref="user", lazy="dynamic") def __init__(self, phone, user_name, email, password, sex, head_img, address, born_date, longitude, latitude, production, delete_type=0): self.phone = phone self.user_name = user_name self.email = email self.password = password self.sex = sex self.head_img = head_img self.address = address self.born_date = born_date self.longitude = longitude self.latitude = latitude self.production = production self.delete_type = delete_type def save(self): db.session.add(self) db.session.commit() def __rper__(self): return '<User:%r>' % self.__tablename__
class Passenger(db.Model): """ comment= '乘客(乘客id、性别、年龄段、是否戴眼镜、是否戴帽子、是否涂口红、是否戴口罩、面部表情、特征矩阵)'; """ __tablename__ = "passenger" passenger_id = db.Column(db.Integer, primary_key=True) delete_type = db.Column(db.SMALLINT, nullable=False, default=0, comment='(0:正常,1:删除)') sex = db.Column(db.Boolean) age_level = db.Column(db.SMALLINT) is_glasses = db.Column(db.Boolean) is_hat = db.Column(db.Boolean) is_mask = db.Column(db.Boolean) is_lipstick = db.Column(db.Boolean) face_expression = db.Column(db.SMALLINT) future_matrix = db.Column(db.Text) face_landmark = db.Column(db.CHAR(10)) picture_name = db.Column(db.String(50)) # 反向引用 user_passenger user_passenger = db.relationship("user_passenger", backref="passenger", lazy="dynamic") # 反向引用 bus_passenger bus_passenger = db.relationship("bus_passenger", backref="passenger", lazy="dynamic") # 反向引用 bus_passenger station_passenger = db.relationship("station_passenger", backref="passenger", lazy="dynamic") def __init__(self, passenger_id, delete_type=0, sex=0, age_level=1, is_glasses=0, is_hat=0, is_mask=0, is_lipstick=0, face_expression=0, future_matrix=None): self.passenger_id = passenger_id self.delete_type = delete_type self.sex = sex self.age_level = age_level self.is_glasses = is_glasses self.is_hat = is_hat self.is_mask = is_mask self.is_lipstick = is_lipstick self.face_expression = face_expression self.future_matrix = future_matrix def save(self): db.session.add(self) db.session.commit() def __rper__(self): return '<Passenger:%r>' % self.__tablename__
#encoding: utf-8 from exts import db from flask_sqlalchemy import SQLAlchemy from datetime import datetime Enroll = db.Table( 'Enroll', db.Column('userName', db.Unicode(20), db.ForeignKey('User.userName'), primary_key=True), db.Column('courseId', db.CHAR(8), db.ForeignKey('CourseInfo.courseId'), primary_key=True), ) class User(db.Model): __tablename__ = 'User' userName = db.Column(db.Unicode(20), primary_key=True) userEmail = db.Column(db.Unicode(64), nullable=False) userPhone = db.Column(db.CHAR(11), nullable=False) userPass = db.Column(db.Unicode(100), nullable=False) signUpDate = db.Column(db.DateTime, default=datetime.now(), nullable=False) lastLogin = db.Column(db.DateTime, nullable=False) studyDuration = db.Column(db.Float, nullable=False) frozenDuration = db.Column(db.Float, nullable=False) frozenReason = db.Column(db.Text) courseCount = db.relationship('CourseInfo',
class Log(db.Model): __tablename__ = 'Log' logId = db.Column(db.CHAR(40), primary_key=True) logTime = db.Column(db.DateTime, nullable=False) logContent = db.Column(db.String(5), nullable=False)
chapId = db.Column(db.CHAR(15), primary_key=True) courseId = db.Column(db.CHAR(8), db.ForeignKey('CourseInfo.courseId'), nullable=False) chapName = db.Column(db.String(64), nullable=False) chapLayer = db.Column(db.SmallInteger, nullable=False) StudyProgress = db.Table( 'StudyProgress', db.Column('userName', db.String(20), db.ForeignKey('User.userName'), primary_key=True), db.Column('chapId', db.CHAR(15), db.ForeignKey('ChapterInfo.chapId'), primary_key=True)) class Comments(db.Model): __tablename__ = 'Comments' cmtId = db.Column(db.CHAR(10), primary_key=True) userName = db.Column(db.String(20), db.ForeignKey('User.userName'), nullable=False) chapId = db.Column(db.CHAR(15), db.ForeignKey('ChapterInfo.chapId'), nullable=False) cmtContent = db.Column(db.Text, nullable=False) submitTime = db.Column(db.DateTime, nullable=False)