feat: expand AI workflow support and refresh docs
This commit is contained in:
@@ -2,8 +2,10 @@ from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker, declarative_base
|
||||
from app.core.config import settings
|
||||
|
||||
# 数据库连接字符串,默认使用 SQLite 本地文件
|
||||
SQLALCHEMY_DATABASE_URL = getattr(settings, "DATABASE_URL", "sqlite:///./designercep.db")
|
||||
# 数据库连接字符串,SQLite 相对路径已在配置层解析为 Server 目录下的绝对路径
|
||||
SQLALCHEMY_DATABASE_URL = getattr(
|
||||
settings, "DATABASE_URL", "sqlite:///./designercep.db"
|
||||
)
|
||||
|
||||
# 创建数据库引擎
|
||||
engine = create_engine(
|
||||
@@ -81,7 +83,8 @@ def seed_data():
|
||||
db.close()
|
||||
|
||||
def ensure_migrations():
|
||||
# 轻量级迁移:为 SQLite 动态添加缺失列
|
||||
# 轻量级迁移:仅作为本地 SQLite 的兜底补列逻辑。
|
||||
# 正式环境请优先使用 Alembic(见 Server/migrations/README.md)。
|
||||
if not SQLALCHEMY_DATABASE_URL.startswith("sqlite"):
|
||||
return
|
||||
with engine.connect() as conn:
|
||||
@@ -152,3 +155,27 @@ def ensure_migrations():
|
||||
add_col("users", "consecutive_check_in", "INTEGER DEFAULT 0")
|
||||
if not has_column("users", "last_check_in_date"):
|
||||
add_col("users", "last_check_in_date", "DATE NULL")
|
||||
if not has_column("users", "ai_provider"):
|
||||
add_col("users", "ai_provider", "VARCHAR(32) NULL")
|
||||
if not has_column("users", "ai_api_key"):
|
||||
add_col("users", "ai_api_key", "TEXT NULL")
|
||||
if not has_column("users", "ai_base_url"):
|
||||
add_col("users", "ai_base_url", "VARCHAR(255) NULL")
|
||||
if not has_column("users", "ai_chat_base_url"):
|
||||
add_col("users", "ai_chat_base_url", "VARCHAR(255) NULL")
|
||||
if not has_column("users", "ai_vision_base_url"):
|
||||
add_col("users", "ai_vision_base_url", "VARCHAR(255) NULL")
|
||||
if not has_column("users", "ai_image_base_url"):
|
||||
add_col("users", "ai_image_base_url", "VARCHAR(255) NULL")
|
||||
if not has_column("users", "ai_model"):
|
||||
add_col("users", "ai_model", "VARCHAR(120) NULL")
|
||||
if not has_column("users", "ai_vision_model"):
|
||||
add_col("users", "ai_vision_model", "VARCHAR(120) NULL")
|
||||
if not has_column("users", "ai_image_model"):
|
||||
add_col("users", "ai_image_model", "VARCHAR(120) NULL")
|
||||
|
||||
# chat_sessions 会话工作流字段
|
||||
if not has_column("chat_sessions", "active_skill_id"):
|
||||
add_col("chat_sessions", "active_skill_id", "VARCHAR(80) NULL")
|
||||
if not has_column("chat_sessions", "workflow_state"):
|
||||
add_col("chat_sessions", "workflow_state", "TEXT NULL")
|
||||
|
||||
Reference in New Issue
Block a user