Files
autoclip/init_database.py
Kris Ka 8ee2d50044 修复WebSocket进度更新和前端状态自动更新问题
- 修复WebSocketNotificationService.send_processing_progress方法参数不匹配问题
- 修复前端RealTimeStatus组件WebSocket消息处理逻辑
- 修复Celery Worker队列配置,确保任务正确路由到processing队列
- 修复Celery应用导入冲突,统一使用正确的celery_app配置
- 添加实时项目状态更新功能,前端无需手动刷新即可看到处理进度
- 完善系统启动脚本,修复PYTHONPATH未绑定变量错误
- 优化流水线处理逻辑,确保所有6个步骤正常执行
- 添加完整的项目文档和启动指南

测试结果:
- WebSocket进度更新正常工作(16%, 33%, 100%)
- 流水线处理完全正常(6个步骤全部成功)
- 前端状态自动更新正常
- 项目状态正确同步到数据库
2025-09-08 17:21:31 +08:00

57 lines
1.4 KiB
Python

#!/usr/bin/env python3
"""
数据库初始化脚本
"""
import sys
from pathlib import Path
# 添加项目根目录到路径
current_dir = Path(__file__).parent
sys.path.insert(0, str(current_dir))
sys.path.insert(0, str(current_dir / "backend"))
# 设置工作目录
import os
os.chdir(current_dir)
def init_database():
"""初始化数据库"""
print("🚀 开始初始化数据库...")
try:
# 导入所有模型确保表被创建
from backend.models import Base, BilibiliAccount, UploadRecord
from backend.core.database import init_database, create_tables
print("✅ 所有模型导入成功")
# 初始化数据库
if init_database():
print("✅ 数据库初始化成功")
else:
print("❌ 数据库初始化失败")
return False
# 创建表
create_tables()
print("✅ 数据库表创建成功")
return True
except Exception as e:
print(f"❌ 数据库初始化失败: {e}")
return False
if __name__ == "__main__":
success = init_database()
if success:
print("\n🎉 数据库初始化完成!")
print("现在可以启动系统了:")
print("1. ./start_autoclip_with_upload.sh")
print("2. 或者手动启动各个服务")
else:
print("\n❌ 数据库初始化失败,请检查错误信息")
sys.exit(1)