功能: 按用户同步斗鱼工作台
This commit is contained in:
@@ -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 ;;
|
||||
|
||||
Reference in New Issue
Block a user