from pydantic import BaseModel from typing import Any, Dict, List, Optional class SQLExecuteRequest(BaseModel): sql: str class SQLExecuteResponse(BaseModel): code: int = 0 # 响应状态码 message: str data: Optional[Any] = None class TableDataRequest(BaseModel): table_name: str limit: Optional[int] = 100 offset: Optional[int] = 0 class TableDataResponse(BaseModel): code: int = 0 # 响应状态码 message: str total: Optional[int] = None data: Optional[List[Dict[str, Any]]] = 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 # 是否强制覆盖已存在的表