Files
railway_cloud/app/schemas/database.py
2025-09-27 09:30:46 +08:00

36 lines
989 B
Python

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 # 是否强制覆盖已存在的表