增加数据库迁移命令和数据库初始化命令,分离schemas

This commit is contained in:
mkg
2021-06-12 23:05:30 +08:00
parent 5e08f3e49b
commit 14a32e6d3c
35 changed files with 198 additions and 174 deletions
+7 -7
View File
@@ -1,9 +1,9 @@
from .admin_dept import Dept, DeptSchema
from .admin_dict import DictType, DictData, DictTypeSchema, DictDataSchema
from .admin_log import AdminLog, LogSchema
from .admin_photo import Photo, PhotoSchema
from .admin_power import Power, PowerSchema, PowerSchema2
from .admin_role import Role, RoleSchema
from .admin_dept import Dept
from .admin_dict import DictType, DictData
from .admin_log import AdminLog
from .admin_photo import Photo
from .admin_power import Power
from .admin_role import Role
from .admin_role_power import role_power
from .admin_user import User, UserSchema
from .admin_user import User
from .admin_user_role import user_role
+2 -15
View File
@@ -1,6 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields, validate
from applications.extensions import db
class Dept(db.Model):
@@ -16,16 +15,4 @@ class Dept(db.Model):
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='创建时间')
class DeptSchema(ma.Schema): # 序列化类
deptId = fields.Integer(attribute="id")
parentId = fields.Integer(attribute="parent_id")
deptName = fields.Str(attribute="dept_name")
leader = fields.Str()
phone = fields.Str()
email = fields.Str(validate=validate.Email())
address = fields.Str()
status = fields.Str(validate=validate.OneOf(["0", "1"]))
sort = fields.Integer()
update_at = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='创建时间')
+2 -23
View File
@@ -1,7 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields
from applications.extensions import db
class DictType(db.Model):
@@ -25,23 +23,4 @@ class DictData(db.Model):
enable = db.Column(db.Integer, comment='是否开启')
remark = db.Column(db.String(255), 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='更新时间')
class DictTypeSchema(ma.Schema): # 序列化类
id = fields.Str(attribute="id")
typeName = fields.Str(attribute="type_name")
typeCode = fields.Str(attribute="type_code")
description = fields.Str(attribute="description")
createTime = fields.Str(attribute="create_time")
updateName = fields.Str(attribute="update_time")
remark = fields.Str()
enable = fields.Str()
class DictDataSchema(ma.Schema): # 序列化类
dataId = fields.Str(attribute="id")
dataLabel = fields.Str(attribute="data_label")
dataValue = fields.Str(attribute="data_value")
remark = fields.Str()
enable = fields.Str()
update_time = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='更新时间')
+2 -16
View File
@@ -1,7 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields
from applications.extensions import db
class AdminLog(db.Model):
__tablename__ = 'admin_admin_log'
@@ -13,16 +11,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.datetime.now)
class LogSchema(ma.Schema): # 序列化类
id = fields.Integer()
method = fields.Str()
uid = fields.Str()
url = fields.Str()
desc = fields.Str()
ip = fields.Str()
user_agent = fields.Str()
success = fields.Bool()
create_time = fields.DateTime()
create_time = db.Column(db.DateTime, default=datetime.datetime.now)
+2 -14
View File
@@ -1,7 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields
from applications.extensions import db
class Photo(db.Model):
@@ -11,14 +9,4 @@ class Photo(db.Model):
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)
class PhotoSchema(ma.Schema):
id = fields.Integer()
name = fields.Str()
href = fields.Str()
mime = fields.Str()
size = fields.Str()
ext = fields.Str()
create_time = fields.DateTime()
create_time = db.Column(db.DateTime, default=datetime.datetime.now)
+1 -32
View File
@@ -1,6 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields
from applications.extensions import db
class Power(db.Model):
@@ -17,33 +16,3 @@ class Power(db.Model):
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='是否开启')
# 权限models序列化类
class PowerSchema(ma.Schema):
id = fields.Integer()
title = fields.Str(attribute="name")
type = fields.Str()
code = fields.Str()
href = fields.Str(attribute="url")
openType = fields.Str(attribute="open_type")
parent_id = fields.Integer()
icon = fields.Str()
sort = fields.Integer()
create_time = fields.DateTime()
update_time = fields.DateTime()
enable = fields.Integer()
class PowerSchema2(ma.Schema): # 序列化类
powerId = fields.Str(attribute="id")
powerName = fields.Str(attribute="name")
powerType = fields.Str(attribute="type")
powerUrl = fields.Str(attribute="url")
openType = fields.Str(attribute="open_type")
parentId = fields.Str(attribute="parent_id")
icon = fields.Str()
sort = fields.Integer()
create_time = fields.DateTime()
update_time = fields.DateTime()
enable = fields.Integer()
+1 -14
View File
@@ -1,6 +1,5 @@
import datetime
from applications.extensions import db, ma
from marshmallow import fields
from applications.extensions import db
class Role(db.Model):
@@ -15,15 +14,3 @@ class Role(db.Model):
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="admin_role_power", backref=db.backref('role'))
class RoleSchema(ma.Schema):
id = fields.Integer()
roleName = fields.Str(attribute="name")
roleCode = fields.Str(attribute="code")
enable = fields.Str()
remark = fields.Str()
details = fields.Str()
sort = fields.Integer()
create_at = fields.DateTime()
update_at = fields.DateTime()
+1 -20
View File
@@ -1,9 +1,7 @@
import datetime
from flask_login import UserMixin
from werkzeug.security import generate_password_hash, check_password_hash
from applications.extensions import db, ma
from marshmallow import fields
from applications.models import Dept
from applications.extensions import db
class User(db.Model, UserMixin):
@@ -25,20 +23,3 @@ class User(db.Model, UserMixin):
def validate_password(self, password):
return check_password_hash(self.password_hash, password)
# 用户models的序列化类
class UserSchema(ma.Schema):
id = fields.Integer()
username = fields.Str()
realname = fields.Str()
enable = fields.Integer()
create_at = fields.DateTime()
update_at = fields.DateTime()
dept = fields.Method("get_dept")
def get_dept(self, obj):
if obj.dept_id != None:
return Dept.query.filter_by(id=obj.dept_id).first().dept_name
else:
return None