Files
railway_cloud/app/schemas/database.py
2025-09-26 17:19:58 +08:00

37 lines
1.0 KiB
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 FileImportRequest(BaseModel):
filename: str
file_content: str # base64编码的文件内容
table_name: Optional[str] = None # 可选的自定义表名
force_overwrite: bool = False # 是否强制覆盖已存在的表