feat: 支持 XUQM_CLEAN_DATA=1 在新建部署时清除旧数据目录
这个提交包含在:
父节点
2f304d8384
当前提交
dde9a76029
@ -118,6 +118,7 @@ printf ' 2) 迁移租户 — 从公有平台导入现有租户数据(需迁
|
|||||||
# XUQM_EXTERNAL_URL 外部访问地址(如 https://win.xuqinmin.com)
|
# XUQM_EXTERNAL_URL 外部访问地址(如 https://win.xuqinmin.com)
|
||||||
# XUQM_NGINX_MODE 1=直接80 / 2=本地11223(默认1)
|
# XUQM_NGINX_MODE 1=直接80 / 2=本地11223(默认1)
|
||||||
# XUQM_MIGRATE_KEY 迁移密钥(migrate 模式需要)
|
# XUQM_MIGRATE_KEY 迁移密钥(migrate 模式需要)
|
||||||
|
# XUQM_CLEAN_DATA 1=新建部署时清除已有 MySQL/Redis 数据目录(谨慎使用)
|
||||||
_NONINTERACTIVE="${XUQM_NONINTERACTIVE:-0}"
|
_NONINTERACTIVE="${XUQM_NONINTERACTIVE:-0}"
|
||||||
|
|
||||||
DEPLOY_MODE=""
|
DEPLOY_MODE=""
|
||||||
@ -569,6 +570,24 @@ printf '%s' "$REGISTRY_PASSWORD" | \
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
step "启动基础设施容器(MySQL / Redis)"
|
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 \
|
docker compose \
|
||||||
--env-file "$ROOT_DIR/.env" \
|
--env-file "$ROOT_DIR/.env" \
|
||||||
-f "$ROOT_DIR/docker-compose.yml" \
|
-f "$ROOT_DIR/docker-compose.yml" \
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户