fix(build): 表名前缀迁移步骤 + DDL 生成不再静默吞错

This commit is contained in:
yumoqing 2026-08-25 14:24:39 +08:00
parent 970fcfe446
commit 92b3ed806a

View File

@ -47,11 +47,24 @@ ln -sf ../pkgs/bricks/dist wwwroot/bricks 2>/dev/null || true
ln -sf ../pkgs/rbac/wwwroot wwwroot/rbac 2>/dev/null || true
ln -sf ../pkgs/rag/wwwroot wwwroot/rag 2>/dev/null || true
# Generate DDL from rag module models
# Migrate legacy table names to rag_ prefix (idempotent, must run BEFORE DDL)
# rag 模块表统一加 rag_ 前缀,避免模块跨应用复用时与业务表名冲突
if [ -f pkgs/rag/init/migrate_rag_prefix.sql ]; then
echo "== migrating legacy table names to rag_ prefix =="
mysql -h db -utest -ptest123 rag < pkgs/rag/init/migrate_rag_prefix.sql || {
echo "ERROR: table prefix migration failed" >&2; exit 1; }
fi
# Generate DDL from rag module models (creates any missing rag_* tables)
if ls pkgs/rag/models/*.json >/dev/null 2>&1; then
cd pkgs/rag/models
json2ddl mysql . > /tmp/rag_ddl.sql
mysql -h db -utest -ptest123 rag < /tmp/rag_ddl.sql 2>/dev/null || echo "DDL apply skipped"
# 不再吞掉错误models/ 曾误放 CRUD 格式(缺 summary)导致 json2ddl 全量失败被静默忽略
json2ddl mysql . > /tmp/rag_ddl.sql || { echo "ERROR: json2ddl failed" >&2; cd $cdir; exit 1; }
if [ ! -s /tmp/rag_ddl.sql ]; then
echo "ERROR: generated DDL is empty — check models/*.json format (need summary+fields)" >&2
cd $cdir; exit 1
fi
mysql -h db -utest -ptest123 rag < /tmp/rag_ddl.sql || echo "WARN: some DDL statements failed (tables may already exist)"
cd $cdir
fi