🐛 优化LevelUser权限更新逻辑及数据库迁移

This commit is contained in:
HibiKier 2025-05-12 16:22:48 +08:00
parent be85a03788
commit e63a3692e9
2 changed files with 5 additions and 12 deletions

View File

@ -56,6 +56,9 @@ class LevelUser(Model):
level: 权限等级
group_flag: 是否被自动更新刷新权限 0:, 1:.
"""
if await cls.exists(user_id=user_id, group_id=group_id, level=level):
# 权限相同时跳过
return
await cls.update_or_create(
user_id=user_id,
group_id=group_id,
@ -122,8 +125,7 @@ class LevelUser(Model):
return [
# 将user_id改为user_id
"ALTER TABLE level_users RENAME COLUMN user_qq TO user_id;",
"ALTER TABLE level_users "
"ALTER COLUMN user_id TYPE character varying(255);",
"ALTER TABLE level_users ALTER COLUMN user_id TYPE character varying(255);",
# 将user_id字段类型改为character varying(255)
"ALTER TABLE level_users "
"ALTER COLUMN group_id TYPE character varying(255);",

View File

@ -145,16 +145,7 @@ class CacheData(BaseModel):
# 跳过反向关系字段
if hasattr(field, "_related_name"):
continue
# 处理 CharEnumField
if hasattr(field, "enum_class"):
try:
processed_value[field_name] = field.enum_class(
field_value
)
except ValueError:
processed_value[field_name] = None
else:
processed_value[field_name] = field_value
processed_value[field_name] = field_value
logger.debug(f"处理后的值: {processed_value}")