fix(update): tolerate optional database identity fields
这个提交包含在:
父节点
cd369f3f30
当前提交
61e5ce9905
@ -12,6 +12,8 @@
|
|||||||
docs-site 独立镜像定义;文档站继续由 tenant-web 在 `/docs/` 提供。
|
docs-site 独立镜像定义;文档站继续由 tenant-web 在 `/docs/` 提供。
|
||||||
- 修正环境加载优先级:`config/infra.env` 仅作为默认值,部署生成的 `.env` 为
|
- 修正环境加载优先级:`config/infra.env` 仅作为默认值,部署生成的 `.env` 为
|
||||||
MySQL/Redis 模式和 profile 的权威来源,避免托管数据库被备份脚本误判为外部数据库。
|
MySQL/Redis 模式和 profile 的权威来源,避免托管数据库被备份脚本误判为外部数据库。
|
||||||
|
- 可选 MySQL 用户配置缺失时不再被 Bash `set -e` 误判为升级致命错误;只有真正
|
||||||
|
必需的数据库/Redis 密码缺失才会在修改容器前给出明确失败信息。
|
||||||
|
|
||||||
## 2026.06.18-private.1
|
## 2026.06.18-private.1
|
||||||
|
|
||||||
|
|||||||
@ -118,12 +118,14 @@ ok "目标私有化版本=${PRIVATE_VERSION}"
|
|||||||
# 变量替换失败时覆盖成空字符串(deploy.sh 新建部署已自动写入,此处仅升级兼容)
|
# 变量替换失败时覆盖成空字符串(deploy.sh 新建部署已自动写入,此处仅升级兼容)
|
||||||
_patched=0
|
_patched=0
|
||||||
if ! grep -q "^SPRING_DATASOURCE_PASSWORD=" "$ROOT_DIR/config/secrets.env" 2>/dev/null; then
|
if ! grep -q "^SPRING_DATASOURCE_PASSWORD=" "$ROOT_DIR/config/secrets.env" 2>/dev/null; then
|
||||||
_mp="$(grep '^MYSQL_PASSWORD=' "$ROOT_DIR/config/secrets.env" | cut -d= -f2-)"
|
_mp="$(grep '^MYSQL_PASSWORD=' "$ROOT_DIR/config/secrets.env" 2>/dev/null | cut -d= -f2- || true)"
|
||||||
|
[ -n "$_mp" ] || fail "config/secrets.env 缺少 MYSQL_PASSWORD,无法补齐数据库运行配置"
|
||||||
printf '\nSPRING_DATASOURCE_PASSWORD=%s\n' "$_mp" >> "$ROOT_DIR/config/secrets.env"
|
printf '\nSPRING_DATASOURCE_PASSWORD=%s\n' "$_mp" >> "$ROOT_DIR/config/secrets.env"
|
||||||
_patched=1
|
_patched=1
|
||||||
fi
|
fi
|
||||||
if ! grep -q "^SPRING_DATA_REDIS_PASSWORD=" "$ROOT_DIR/config/secrets.env" 2>/dev/null; then
|
if ! grep -q "^SPRING_DATA_REDIS_PASSWORD=" "$ROOT_DIR/config/secrets.env" 2>/dev/null; then
|
||||||
_rp="$(grep '^REDIS_PASSWORD=' "$ROOT_DIR/config/secrets.env" | cut -d= -f2-)"
|
_rp="$(grep '^REDIS_PASSWORD=' "$ROOT_DIR/config/secrets.env" 2>/dev/null | cut -d= -f2- || true)"
|
||||||
|
[ -n "$_rp" ] || fail "config/secrets.env 缺少 REDIS_PASSWORD,无法补齐缓存运行配置"
|
||||||
printf 'SPRING_DATA_REDIS_PASSWORD=%s\n' "$_rp" >> "$ROOT_DIR/config/secrets.env"
|
printf 'SPRING_DATA_REDIS_PASSWORD=%s\n' "$_rp" >> "$ROOT_DIR/config/secrets.env"
|
||||||
_patched=1
|
_patched=1
|
||||||
fi
|
fi
|
||||||
@ -163,7 +165,7 @@ if ! grep -q "^PRIVATE_DEPLOY_ROOT=" "$ROOT_DIR/.env" 2>/dev/null; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
_CONSOLE_DOMAIN="$(grep '^CONSOLE_DOMAIN=' "$ROOT_DIR/config/xuqm.env" 2>/dev/null \
|
_CONSOLE_DOMAIN="$(grep '^CONSOLE_DOMAIN=' "$ROOT_DIR/config/xuqm.env" 2>/dev/null \
|
||||||
| cut -d= -f2- | tr -d '"' | tr -d "'")"
|
| cut -d= -f2- | tr -d '"' | tr -d "'" || true)"
|
||||||
_NGINX_BIND="${NGINX_BIND:-80}"
|
_NGINX_BIND="${NGINX_BIND:-80}"
|
||||||
_NGINX_PORT="${_NGINX_BIND##*:}"
|
_NGINX_PORT="${_NGINX_BIND##*:}"
|
||||||
|
|
||||||
@ -553,9 +555,10 @@ if grep -q 'bugcollect-service:' "$ROOT_DIR/docker-compose.yml" 2>/dev/null; the
|
|||||||
if [ -n "$_mysql_ctr" ]; then
|
if [ -n "$_mysql_ctr" ]; then
|
||||||
_bc_db="${BUGCOLLECT_DB:-xuqm_bugcollect}"
|
_bc_db="${BUGCOLLECT_DB:-xuqm_bugcollect}"
|
||||||
_secrets="$ROOT_DIR/config/secrets.env"
|
_secrets="$ROOT_DIR/config/secrets.env"
|
||||||
_mysql_root_pw="$(grep '^MYSQL_ROOT_PASSWORD=' "$_secrets" 2>/dev/null | cut -d= -f2-)"
|
_mysql_root_pw="$(grep '^MYSQL_ROOT_PASSWORD=' "$_secrets" 2>/dev/null | cut -d= -f2- || true)"
|
||||||
_mysql_user="$(grep '^MYSQL_USERNAME=' "$_secrets" 2>/dev/null | cut -d= -f2-)"
|
_mysql_user="$(grep '^MYSQL_USERNAME=' "$_secrets" 2>/dev/null | cut -d= -f2- || true)"
|
||||||
[ -z "$_mysql_user" ] && _mysql_user="$(grep '^MYSQL_USER=' "$_secrets" 2>/dev/null | cut -d= -f2-)"
|
[ -z "$_mysql_user" ] && \
|
||||||
|
_mysql_user="$(grep '^MYSQL_USER=' "$_secrets" 2>/dev/null | cut -d= -f2- || true)"
|
||||||
# docker-compose.yml 中 SPRING_DATASOURCE_USERNAME 默认值为 xuqm,与此保持一致
|
# docker-compose.yml 中 SPRING_DATASOURCE_USERNAME 默认值为 xuqm,与此保持一致
|
||||||
[ -z "$_mysql_user" ] && _mysql_user="xuqm"
|
[ -z "$_mysql_user" ] && _mysql_user="xuqm"
|
||||||
info "建库检查: container=${_mysql_ctr} db=${_bc_db} user=${_mysql_user}"
|
info "建库检查: container=${_mysql_ctr} db=${_bc_db} user=${_mysql_user}"
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户