2026-04-18 23:42:10 +08:00
|
|
|
from typing import ClassVar
|
|
|
|
|
|
2024-05-27 16:09:24 +08:00
|
|
|
from tortoise import fields
|
|
|
|
|
|
|
|
|
|
from zhenxun.services.db_context import Model
|
2026-05-28 22:57:28 +08:00
|
|
|
from zhenxun.services.db_context.schema_ops import AlterColumnType, RenameColumn
|
2024-05-27 16:09:24 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class Statistics(Model):
|
|
|
|
|
id = fields.IntField(pk=True, generated=True, auto_increment=True)
|
|
|
|
|
"""自增id"""
|
|
|
|
|
user_id = fields.CharField(255)
|
|
|
|
|
"""用户id"""
|
|
|
|
|
group_id = fields.CharField(255, null=True)
|
|
|
|
|
"""群聊id"""
|
|
|
|
|
plugin_name = fields.CharField(255)
|
|
|
|
|
"""插件名称"""
|
2026-06-16 17:14:03 +08:00
|
|
|
create_time = fields.DatetimeField(auto_now_add=True)
|
2024-05-27 16:09:24 +08:00
|
|
|
"""添加日期"""
|
2024-10-03 23:56:17 +08:00
|
|
|
bot_id = fields.CharField(255, null=True)
|
|
|
|
|
"""Bot Id"""
|
2024-05-27 16:09:24 +08:00
|
|
|
|
2025-01-07 14:36:22 +08:00
|
|
|
class Meta: # pyright: ignore [reportIncompatibleVariableOverride]
|
2024-05-27 16:09:24 +08:00
|
|
|
table = "statistics"
|
|
|
|
|
table_description = "插件调用统计数据库"
|
2026-04-18 23:42:10 +08:00
|
|
|
indexes: ClassVar = [
|
|
|
|
|
("user_id", "plugin_name"),
|
|
|
|
|
("group_id", "plugin_name"),
|
|
|
|
|
("plugin_name", "create_time"),
|
|
|
|
|
("user_id", "create_time"),
|
|
|
|
|
]
|
2024-05-27 16:09:24 +08:00
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
async def _run_script(cls):
|
|
|
|
|
return [
|
2026-05-28 22:57:28 +08:00
|
|
|
RenameColumn("statistics", "user_qq", "user_id"),
|
2024-10-03 23:56:17 +08:00
|
|
|
# 将user_qq改为user_id
|
2026-05-28 22:57:28 +08:00
|
|
|
AlterColumnType(
|
|
|
|
|
"statistics",
|
|
|
|
|
"user_id",
|
|
|
|
|
{"postgres": "character varying(255)", "mysql": "VARCHAR(255)"},
|
|
|
|
|
),
|
|
|
|
|
AlterColumnType(
|
|
|
|
|
"statistics",
|
|
|
|
|
"group_id",
|
|
|
|
|
{"postgres": "character varying(255)", "mysql": "VARCHAR(255)"},
|
|
|
|
|
),
|
2024-05-27 16:09:24 +08:00
|
|
|
]
|