wip(semantic):数据模型语义化

This commit is contained in:
zhengxinonly
2021-09-06 02:17:36 +08:00
parent 27f5d78c35
commit 00053da117
31 changed files with 189 additions and 183 deletions
+3 -6
View File
@@ -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
+8
View File
@@ -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='更新时间')
+1
View File
@@ -0,0 +1 @@
from .photo import FilePhoto
+3 -5
View File
@@ -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)
+3 -3
View File
@@ -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)
+19
View File
@@ -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='角色编号'), # 属性 外键
)
+5 -2
View File
@@ -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]) # 自关联
+4 -5
View File
@@ -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'))
-9
View File
@@ -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='角色编号'), # 属性 外键
)
-9
View File
@@ -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='角色编号'), # 属性 外键
)
+2 -2
View File
@@ -1,2 +1,2 @@
from .dept import Dept
from .users import User
from .dept import CompanyDepartment
from .users import CompanyUser
+2 -4
View File
@@ -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='创建时间')
+4 -6
View File
@@ -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)