fix(deploy): 无models/纯引擎模块跳过建表,无json/跳过CRUD生成(scense_runtime部署修复)

This commit is contained in:
pipeline-agent 2026-08-30 08:26:28 +08:00
parent 449f1e607e
commit 12158558dd

View File

@ -109,14 +109,22 @@ PY
echo "==> [6/9] per-module install: ① json2ddl建表 ② json/build.sh ③ wwwroot软链 ④ 数据导入"
for m in ${BUSINESS_MODULES}; do
echo " -- ${m}"
# ① 建表:模块 models 是唯一事实源json2ddl 输出 DROP+CREATE每次部署权威重建
(cd "pkgs/${m}/models" && "${VENV}/bin/json2ddl" mysql .) > "/tmp/${m}_ddl.sql" \
|| { echo "ERROR: ${m} json2ddl failed" >&2; exit 1; }
[ -s "/tmp/${m}_ddl.sql" ] || { echo "ERROR: ${m} DDL empty" >&2; exit 1; }
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" "${DB_NAME}" \
< "/tmp/${m}_ddl.sql" || { echo "ERROR: ${m} create tables failed" >&2; exit 1; }
# ② CRUD 页面(模块仓库自带 json/build.sh
(cd "pkgs/${m}/json" && bash build.sh) || { echo "ERROR: ${m} json/build.sh failed" >&2; exit 1; }
# ① 建表:模块 models 是唯一事实源;无 models/ 的纯引擎模块跳过
if [ -d "pkgs/${m}/models" ]; then
(cd "pkgs/${m}/models" && "${VENV}/bin/json2ddl" mysql .) > "/tmp/${m}_ddl.sql" \
|| { echo "ERROR: ${m} json2ddl failed" >&2; exit 1; }
[ -s "/tmp/${m}_ddl.sql" ] || { echo "ERROR: ${m} DDL empty" >&2; exit 1; }
mysql -h "${DB_HOST}" -P "${DB_PORT}" -u "${DB_USER}" -p"${DB_PASSWORD}" "${DB_NAME}" \
< "/tmp/${m}_ddl.sql" || { echo "ERROR: ${m} create tables failed" >&2; exit 1; }
else
echo " (no models/, skip DDL)"
fi
# ② CRUD 页面(模块仓库自带 json/build.sh无 json/ 跳过
if [ -d "pkgs/${m}/json" ]; then
(cd "pkgs/${m}/json" && bash build.sh) || { echo "ERROR: ${m} json/build.sh failed" >&2; exit 1; }
else
echo " (no json/, skip CRUD gen)"
fi
# ③ wwwroot 软链(非 cp
ln -sfn "../pkgs/${m}/wwwroot" "wwwroot/${m}"
# ④ 初始化数据(有 data/*.xlsx 才导)