Esempio n. 1
0
def init(force=False):
    db.create_all()
    if force:
        db.drop_all()
        db.create_all()
    elif (manager.user_model.get(one=False)
          or manager.user_group_model.get(one=False)
          or manager.group_model.get(one=False)):
        exit("表中存在数据,初始化失败")
    with db.auto_commit():
        # 创建一个超级管理员分组
        root_group = manager.group_model()
        root_group.name = "Root"
        root_group.info = "超级用户组"
        root_group.level = GroupLevelEnum.ROOT.value
        db.session.add(root_group)
        # 创建一个超级管理员
        root = manager.user_model()
        root.username = "******"
        db.session.add(root)
        db.session.flush()
        root.password = "******"
        # root用户 and  超级管理员分组 对应关系写入user_group表中
        user_group = manager.user_group_model()
        user_group.user_id = root.id
        user_group.group_id = root_group.id
        db.session.add(user_group)
        # 添加 默认游客组
        guest_group = manager.group_model()
        guest_group.name = "Guest"
        guest_group.info = "游客组"
        guest_group.level = GroupLevelEnum.GUEST.value
        db.session.add(guest_group)
        # 初始化权限
        manager.sync_permissions()
Esempio n. 2
0
def create_tables(app):
    from lin.db import db
    with app.app_context():
        db.create_all()