功能: 按用户同步斗鱼工作台

This commit is contained in:
yml2213
2026-08-13 15:47:07 +08:00
parent 090698e6b2
commit cf3fe68de3
14 changed files with 503 additions and 44 deletions
+36 -2
View File
@@ -200,6 +200,37 @@ cmd_migrate_mysql() {
python scripts/migrate_sqlite_to_mysql.py --source /app/data/web.db
}
cmd_migrate() {
COMPOSE=$(detect_compose)
if [ -z "$COMPOSE" ]; then
echo "❌ 未检测到 docker compose"
exit 1
fi
echo "正在启动 MySQL..."
$COMPOSE up -d mysql
echo "等待 MySQL 就绪..."
for i in $(seq 1 30); do
if $COMPOSE exec -T mysql sh -c 'mysqladmin ping -h localhost -uroot -p"$MYSQL_ROOT_PASSWORD" --silent' >/dev/null 2>&1; then
break
fi
if [ "$i" = "30" ]; then
echo "❌ MySQL 启动超时,查看日志:"
$COMPOSE logs --tail 50 mysql
exit 1
fi
sleep 2
done
echo "正在执行数据库迁移..."
echo "正在构建最新应用镜像..."
$COMPOSE build douyu-login
$COMPOSE run --rm --no-deps douyu-login \
python -c 'from web.backend.database import run_migrations; run_migrations()'
echo "✅ 数据库迁移完成"
}
cmd_stop() {
COMPOSE=$(detect_compose)
if [ -z "$COMPOSE" ]; then
@@ -216,8 +247,9 @@ cmd_restart() {
echo "❌ 未检测到 docker compose"
exit 1
fi
$COMPOSE restart
echo "✅ 服务已重启"
# 重建镜像和应用容器,使新迁移文件与入口迁移逻辑都能生效。
$COMPOSE up -d --build --force-recreate douyu-login
echo "✅ 服务已重建并重启(已自动检查数据库迁移)"
}
cmd_dev() {
@@ -238,6 +270,7 @@ cmd_help() {
echo " (无参数) 构建并部署"
echo " reset 删除所有数据并重置(需确认)"
echo " migrate-mysql 先启动 MySQL 并迁移 data/web.db"
echo " migrate 仅执行数据库结构迁移"
echo " logs 查看实时日志"
echo " stop 停止服务"
echo " restart 重启服务"
@@ -255,6 +288,7 @@ cmd_help() {
case "${1:-}" in
reset) cmd_reset ;;
migrate-mysql) cmd_migrate_mysql ;;
migrate) cmd_migrate ;;
logs) cmd_logs ;;
stop) cmd_stop ;;
restart) cmd_restart ;;