mirror of https://github.com/Mai-with-u/MaiBot.git
增加数据清理
parent
3f7f3da4d1
commit
1ea3c3eaeb
|
|
@ -44,6 +44,11 @@ class ImageManager:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"数据库连接或表创建失败: {e}")
|
logger.error(f"数据库连接或表创建失败: {e}")
|
||||||
|
|
||||||
|
try:
|
||||||
|
self._cleanup_invalid_descriptions()
|
||||||
|
except Exception as e:
|
||||||
|
logger.warning(f"数据库清理失败: {e}")
|
||||||
|
|
||||||
self._initialized = True
|
self._initialized = True
|
||||||
|
|
||||||
def _ensure_image_dir(self):
|
def _ensure_image_dir(self):
|
||||||
|
|
@ -92,6 +97,35 @@ class ImageManager:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"保存描述到数据库失败 (Peewee): {str(e)}")
|
logger.error(f"保存描述到数据库失败 (Peewee): {str(e)}")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _cleanup_invalid_descriptions(self):
|
||||||
|
"""清理数据库中 description 为空或为 'None' 的记录"""
|
||||||
|
invalid_exact = ["", "None"]
|
||||||
|
|
||||||
|
deleted_images = 0
|
||||||
|
deleted_descriptions = 0
|
||||||
|
|
||||||
|
# 清理 Images 表
|
||||||
|
for img in Images.select():
|
||||||
|
desc = (img.description or "").strip()
|
||||||
|
if desc in invalid_exact:
|
||||||
|
logger.warning(f"[清理] 删除无效图片描述: {img.image_id} -> {desc}")
|
||||||
|
img.delete_instance()
|
||||||
|
deleted_images += 1
|
||||||
|
|
||||||
|
# 清理 ImageDescriptions 表
|
||||||
|
for desc_row in ImageDescriptions.select():
|
||||||
|
desc = (desc_row.description or "").strip()
|
||||||
|
if desc in invalid_exact:
|
||||||
|
logger.warning(f"[清理] 删除无效缓存描述: {desc_row.image_description_hash} -> {desc}")
|
||||||
|
desc_row.delete_instance()
|
||||||
|
deleted_descriptions += 1
|
||||||
|
|
||||||
|
if deleted_images or deleted_descriptions:
|
||||||
|
logger.info(f"[清理完成] 删除 Images: {deleted_images} 条, ImageDescriptions: {deleted_descriptions} 条")
|
||||||
|
else:
|
||||||
|
logger.info("[清理完成] 未发现无效描述记录")
|
||||||
|
|
||||||
async def get_emoji_tag(self, image_base64: str) -> str:
|
async def get_emoji_tag(self, image_base64: str) -> str:
|
||||||
from src.chat.emoji_system.emoji_manager import get_emoji_manager
|
from src.chat.emoji_system.emoji_manager import get_emoji_manager
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue