from pydantic import BaseModel from typing import Any, Dict, List, Optional class SQLExecuteRequest(BaseModel): sql: str class SQLExecuteResponse(BaseModel): success: bool message: str data: Optional[Any] = None rows_affected: Optional[int] = None class TableDataRequest(BaseModel): table_name: str limit: Optional[int] = 100 offset: Optional[int] = 0 class TableDataResponse(BaseModel): success: bool message: str data: Optional[List[Dict[str, Any]]] = None total_count: Optional[int] = None class CreateTableRequest(BaseModel): table_name: str columns: Dict[str, str] # 列名: 数据类型 primary_key: Optional[str] = None class ImportDataRequest(BaseModel): table_name: str data: List[Dict[str, Any]] class FileImportFormData(BaseModel): """文件导入表单数据""" table_name: Optional[str] = None # 可选的自定义表名 force_overwrite: bool = False # 是否强制覆盖已存在的表