database_models.py•1.41 kB
"""
MySQL MCP系统的数据库模型
定义元数据存储和数据库连接的结构
"""
from dataclasses import dataclass
from typing import Optional
from datetime import datetime
@dataclass
class DatabaseConnection:
"""表示一个MySQL数据库连接"""
id: int
name: str
host: str
port: int
username: str
password: str
database_name: str
description: Optional[str] = None
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
@dataclass
class TableMetadata:
"""表示数据库表的元数据"""
id: int
database_id: int
table_name: str
table_schema: str # 表模式的JSON表示
row_count: int
description: Optional[str] = None
comment: Optional[str] = None
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
@dataclass
class ColumnMetadata:
"""表示数据库列的元数据"""
id: int
table_id: int
column_name: str
data_type: str
is_nullable: bool
column_key: str # PRI, UNI, MUL等
column_comment: Optional[str] = None
created_at: Optional[datetime] = None
updated_at: Optional[datetime] = None
@dataclass
class QueryHistory:
"""表示查询历史记录"""
id: int
database_id: int
query_text: str
natural_language_query: str
executed_at: datetime
execution_time_ms: int
result_count: int