wip(semantic):数据模型语义化
This commit is contained in:
@@ -1,7 +1,4 @@
|
||||
from applications.models.users import Dept, User
|
||||
from applications.models.file import FilePhoto
|
||||
from applications.models.log import AdminLog
|
||||
from applications.models.file.photo import Photo
|
||||
from applications.models.rights.power import Power
|
||||
from applications.models.rights.role import Role
|
||||
from applications.models.rights.role_power import role_power
|
||||
from applications.models.rights.user_role import user_role
|
||||
from applications.models.rights import RightsPower, RightsRole, role_power, user_role
|
||||
from applications.models.users import CompanyDepartment, CompanyUser
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
from datetime import datetime
|
||||
|
||||
from applications.extensions import db
|
||||
|
||||
|
||||
class BaseModel(object):
|
||||
create_at = db.Column(db.DateTime, default=datetime.now, comment='创建时间')
|
||||
update_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now, comment='更新时间')
|
||||
@@ -0,0 +1 @@
|
||||
from .photo import FilePhoto
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
import datetime
|
||||
|
||||
from applications.extensions import db
|
||||
|
||||
from ..base import BaseModel
|
||||
|
||||
class Photo(db.Model):
|
||||
|
||||
class FilePhoto(db.Model, BaseModel):
|
||||
__tablename__ = 'file_photo'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
name = db.Column(db.String(255), nullable=False)
|
||||
href = db.Column(db.String(255))
|
||||
mime = db.Column(db.CHAR(50), nullable=False)
|
||||
size = db.Column(db.CHAR(30), nullable=False)
|
||||
create_time = db.Column(db.DateTime, default=datetime.datetime.now)
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
from datetime import datetime
|
||||
from applications.extensions import db
|
||||
from .base import BaseModel
|
||||
|
||||
|
||||
class AdminLog(db.Model):
|
||||
class AdminLog(db.Model, BaseModel):
|
||||
__tablename__ = 'admin_admin_log'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
method = db.Column(db.String(10))
|
||||
@@ -12,4 +12,4 @@ class AdminLog(db.Model):
|
||||
ip = db.Column(db.String(255))
|
||||
success = db.Column(db.Integer)
|
||||
user_agent = db.Column(db.Text)
|
||||
create_time = db.Column(db.DateTime, default=datetime.now)
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
from applications.extensions import db
|
||||
from .power import RightsPower
|
||||
from .role import RightsRole
|
||||
|
||||
# 创建中间表
|
||||
user_role = db.Table(
|
||||
"rt_user_role", # 中间表名称
|
||||
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
|
||||
db.Column("user_id", db.Integer, db.ForeignKey("cp_user.id"), comment='用户编号'), # 属性 外键
|
||||
db.Column("role_id", db.Integer, db.ForeignKey("rt_role.id"), comment='角色编号'), # 属性 外键
|
||||
)
|
||||
|
||||
# 创建中间表
|
||||
role_power = db.Table(
|
||||
"rt_role_power", # 中间表名称
|
||||
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
|
||||
db.Column("power_id", db.Integer, db.ForeignKey("rt_power.id"), comment='用户编号'), # 属性 外键
|
||||
db.Column("role_id", db.Integer, db.ForeignKey("rt_role.id"), comment='角色编号'), # 属性 外键
|
||||
)
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import datetime
|
||||
|
||||
from applications.extensions import db
|
||||
from ..base import BaseModel
|
||||
|
||||
|
||||
class Power(db.Model):
|
||||
class RightsPower(db.Model, BaseModel):
|
||||
__tablename__ = 'rt_power'
|
||||
id = db.Column(db.Integer, primary_key=True, comment='权限编号')
|
||||
name = db.Column(db.String(255), comment='权限名称')
|
||||
@@ -14,7 +16,8 @@ class Power(db.Model):
|
||||
icon = db.Column(db.String(128), comment='图标')
|
||||
sort = db.Column(db.Integer, comment='排序')
|
||||
create_time = db.Column(db.DateTime, default=datetime.datetime.now, comment='创建时间')
|
||||
|
||||
update_time = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='更新时间')
|
||||
enable = db.Column(db.Integer, comment='是否开启')
|
||||
|
||||
parent = db.relationship("Power", remote_side=[id]) # 自关联
|
||||
parent = db.relationship("RightsPower", remote_side=[id]) # 自关联
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import datetime
|
||||
from applications.extensions import db
|
||||
from ..base import BaseModel
|
||||
|
||||
|
||||
class Role(db.Model):
|
||||
class RightsRole(db.Model, BaseModel):
|
||||
__tablename__ = 'rt_role'
|
||||
id = db.Column(db.Integer, primary_key=True, comment='角色ID')
|
||||
name = db.Column(db.String(255), comment='角色名称')
|
||||
@@ -11,6 +11,5 @@ class Role(db.Model):
|
||||
remark = db.Column(db.String(255), comment='备注')
|
||||
details = db.Column(db.String(255), comment='详情')
|
||||
sort = db.Column(db.Integer, comment='排序')
|
||||
create_time = db.Column(db.DateTime, default=datetime.datetime.now, comment='创建时间')
|
||||
update_time = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='更新时间')
|
||||
power = db.relationship('Power', secondary="rt_role_power", backref=db.backref('role'))
|
||||
|
||||
power = db.relationship('RightsPower', secondary="rt_role_power", backref=db.backref('role'))
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
from applications.extensions import db
|
||||
|
||||
# 创建中间表
|
||||
role_power = db.Table(
|
||||
"rt_role_power", # 中间表名称
|
||||
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
|
||||
db.Column("power_id", db.Integer, db.ForeignKey("rt_power.id"), comment='用户编号'), # 属性 外键
|
||||
db.Column("role_id", db.Integer, db.ForeignKey("rt_role.id"), comment='角色编号'), # 属性 外键
|
||||
)
|
||||
@@ -1,9 +0,0 @@
|
||||
from applications.extensions import db
|
||||
|
||||
# 创建中间表
|
||||
user_role = db.Table(
|
||||
"rt_user_role", # 中间表名称
|
||||
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
|
||||
db.Column("user_id", db.Integer, db.ForeignKey("cp_user.id"), comment='用户编号'), # 属性 外键
|
||||
db.Column("role_id", db.Integer, db.ForeignKey("rt_role.id"), comment='角色编号'), # 属性 外键
|
||||
)
|
||||
@@ -1,2 +1,2 @@
|
||||
from .dept import Dept
|
||||
from .users import User
|
||||
from .dept import CompanyDepartment
|
||||
from .users import CompanyUser
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import datetime
|
||||
from applications.extensions import db
|
||||
from ..base import BaseModel
|
||||
|
||||
|
||||
class Dept(db.Model):
|
||||
class CompanyDepartment(db.Model, BaseModel):
|
||||
__tablename__ = 'cp_dept'
|
||||
id = db.Column(db.Integer, primary_key=True, comment="部门ID")
|
||||
parent_id = db.Column(db.Integer, comment="父级编号")
|
||||
@@ -14,5 +14,3 @@ class Dept(db.Model):
|
||||
status = db.Column(db.Integer, comment='状态(1开启,0关闭)')
|
||||
remark = db.Column(db.Text, comment="备注")
|
||||
address = db.Column(db.String(255), comment="详细地址")
|
||||
create_at = db.Column(db.DateTime, default=datetime.datetime.now, comment='创建时间')
|
||||
update_at = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='创建时间')
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import datetime
|
||||
from flask_login import UserMixin
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
|
||||
from applications.extensions import db
|
||||
from ..base import BaseModel
|
||||
|
||||
|
||||
class User(db.Model, UserMixin):
|
||||
class CompanyUser(db.Model, UserMixin, BaseModel):
|
||||
__tablename__ = 'cp_user'
|
||||
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='用户ID')
|
||||
username = db.Column(db.String(20), comment='用户名')
|
||||
@@ -15,14 +16,11 @@ class User(db.Model, UserMixin):
|
||||
password_hash = db.Column(db.String(128), comment='哈希密码')
|
||||
enable = db.Column(db.Integer, default=0, comment='启用')
|
||||
dept_id = db.Column(db.Integer, comment='部门id')
|
||||
create_at = db.Column(db.DateTime, default=datetime.datetime.now, comment='创建时间')
|
||||
update_at = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='创建时间')
|
||||
|
||||
role = db.relationship('Role', secondary="rt_user_role", backref=db.backref('user'), lazy='dynamic')
|
||||
role = db.relationship('RightsRole', secondary="rt_user_role", backref=db.backref('user'), lazy='dynamic')
|
||||
|
||||
def set_password(self, password):
|
||||
self.password_hash = generate_password_hash(password)
|
||||
|
||||
def validate_password(self, password):
|
||||
return check_password_hash(self.password_hash, password)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user