feat: 支持 XUQM_CLEAN_DATA=1 在新建部署时清除旧数据目录
这个提交包含在:
父节点
2f304d8384
当前提交
dde9a76029
@ -118,6 +118,7 @@ printf ' 2) 迁移租户 — 从公有平台导入现有租户数据(需迁
|
||||
# XUQM_EXTERNAL_URL 外部访问地址(如 https://win.xuqinmin.com)
|
||||
# XUQM_NGINX_MODE 1=直接80 / 2=本地11223(默认1)
|
||||
# XUQM_MIGRATE_KEY 迁移密钥(migrate 模式需要)
|
||||
# XUQM_CLEAN_DATA 1=新建部署时清除已有 MySQL/Redis 数据目录(谨慎使用)
|
||||
_NONINTERACTIVE="${XUQM_NONINTERACTIVE:-0}"
|
||||
|
||||
DEPLOY_MODE=""
|
||||
@ -569,6 +570,24 @@ printf '%s' "$REGISTRY_PASSWORD" | \
|
||||
# ---------------------------------------------------------------------------
|
||||
step "启动基础设施容器(MySQL / Redis)"
|
||||
|
||||
# XUQM_CLEAN_DATA=1:清除旧数据目录(仅 new 模式下生效)
|
||||
if [ "${XUQM_CLEAN_DATA:-0}" = "1" ] && [ "$DEPLOY_MODE" = "new" ]; then
|
||||
warn "XUQM_CLEAN_DATA=1:清除旧 MySQL/Redis 数据目录,确保全新部署..."
|
||||
docker compose \
|
||||
--env-file "$ROOT_DIR/.env" \
|
||||
-f "$ROOT_DIR/docker-compose.yml" \
|
||||
-f "$ROOT_DIR/docker-compose.infra.yml" \
|
||||
--profile infra-mysql --profile infra-redis \
|
||||
down 2>/dev/null || true
|
||||
rm -rf "$ROOT_DIR/data/mysql" "$ROOT_DIR/data/redis" 2>/dev/null || \
|
||||
{ [ -n "${XUQM_SUDO_PASS:-}" ] && printf '%s\n' "$XUQM_SUDO_PASS" | \
|
||||
sudo -S rm -rf "$ROOT_DIR/data/mysql" "$ROOT_DIR/data/redis" 2>/dev/null; } || true
|
||||
mkdir -p "$ROOT_DIR/data/mysql" "$ROOT_DIR/data/redis" 2>/dev/null || \
|
||||
{ [ -n "${XUQM_SUDO_PASS:-}" ] && printf '%s\n' "$XUQM_SUDO_PASS" | \
|
||||
sudo -S mkdir -p "$ROOT_DIR/data/mysql" "$ROOT_DIR/data/redis" 2>/dev/null; } || true
|
||||
ok "旧数据已清除"
|
||||
fi
|
||||
|
||||
docker compose \
|
||||
--env-file "$ROOT_DIR/.env" \
|
||||
-f "$ROOT_DIR/docker-compose.yml" \
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户