diff --git a/build.sh b/build.sh index 152294b..21e76e4 100755 --- a/build.sh +++ b/build.sh @@ -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