fix: risklevel migration 自動化 + Telegram Whitelist 注入
1. init_db() 啟動時自動確保 risklevel enum 包含 'high' 值 (Phase 23 新增,避免舊 DB 缺值導致 InvalidTextRepresentation) 2. CD Pipeline 新增 OPENCLAW_TG_USER_WHITELIST 自動注入 (之前為 CHANGE_ME,已更新為實際 user ID 5619078117) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@ Features:
|
||||
from collections.abc import AsyncGenerator
|
||||
from contextlib import asynccontextmanager
|
||||
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.asyncio import (
|
||||
AsyncEngine,
|
||||
AsyncSession,
|
||||
@@ -145,6 +146,24 @@ async def init_db() -> None:
|
||||
async with engine.begin() as conn:
|
||||
await conn.run_sync(Base.metadata.create_all)
|
||||
|
||||
# 2026-04-02 Claude Code: 確保 risklevel enum 包含 'high' 值
|
||||
# Phase 23 新增,避免舊 DB 缺少此值導致 InvalidTextRepresentation
|
||||
await conn.execute(
|
||||
text("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_enum
|
||||
WHERE enumtypid = 'risklevel'::regtype
|
||||
AND enumlabel = 'high'
|
||||
) THEN
|
||||
ALTER TYPE risklevel ADD VALUE 'high';
|
||||
END IF;
|
||||
END
|
||||
$$;
|
||||
""")
|
||||
)
|
||||
|
||||
|
||||
async def close_db() -> None:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user