@clawos-dev/clawd 0.2.125 → 0.2.126-beta.253.542a917
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -24,34 +24,43 @@ set -a; . "$PERSONA_DIR/.secrets/aliyun.env"; set +a
|
|
|
24
24
|
echo "==> 删 FC 资源: $APP_NAME"
|
|
25
25
|
( cd "$EXT_DIR" && s remove -y )
|
|
26
26
|
|
|
27
|
-
# 2)
|
|
27
|
+
# 2) 列出要删的 Supabase 表(脚本不直接调 DB,改打印 DROP 让 agent 用 supabase MCP 跑)
|
|
28
|
+
#
|
|
29
|
+
# 历史 bug(2026-06-03 老板手测 + persona-app-builder 自查发现):旧实现走 python3 读
|
|
30
|
+
# .mcp.json 取 SUPABASE_ACCESS_TOKEN + curl https://api.supabase.com/v1/... 删表,三个
|
|
31
|
+
# 错叠在一起:
|
|
32
|
+
# ① 当前 .mcp.json 用阿里云 RDS 风格(--aliyun-ak 命令行参数),没有 env.SUPABASE_ACCESS_TOKEN
|
|
33
|
+
# 字段 → python3 KeyError → set -euo pipefail exit
|
|
34
|
+
# ② https://api.supabase.com 是云上 supabase.com 的 management API,跟阿里云自建实例
|
|
35
|
+
# 120.26.157.138 不通(即便通,删的也是云上早废弃的表)
|
|
36
|
+
# ③ SUPABASE_PROJECT_REF 是云上 project-ref 概念,阿里云自建用 instance_name
|
|
37
|
+
# 结果:第 1 步删 FC 一直对,第 2 步从来没真删过表(脚本提前 crash exit)。
|
|
38
|
+
#
|
|
39
|
+
# 修法:bash 调不到 MCP(MCP 是 LLM 通道),pg 直连要密码 agent 拿不到,PostgREST RPC 又
|
|
40
|
+
# 要装 drop_table_safe + 手刷 schema cache。最干净:打印 DROP,让 agent 看到 Bash tool
|
|
41
|
+
# stdout 后用 mcp__supabase__execute_sql 接力。长期方案是参照 publish.sh 模式做
|
|
42
|
+
# appBuilder.delete RPC + UI 按钮,等下一轮做。
|
|
28
43
|
if [ -n "$SUPABASE_TABLES" ]; then
|
|
29
|
-
echo ""
|
|
30
|
-
echo "⚠️ 即将删除以下 Supabase 表(数据不可逆):"
|
|
31
|
-
for t in $SUPABASE_TABLES; do echo " - public.$t"; done
|
|
32
|
-
|
|
33
44
|
# 安全锁:每个表必须 <app>_ 前缀,否则拒绝(防误伤 clawos 共享库)
|
|
34
45
|
for t in $SUPABASE_TABLES; do
|
|
35
46
|
case "$t" in
|
|
36
47
|
${APP_NAME}_*) ;;
|
|
37
|
-
*) echo "❌ 表 '$t' 不是 '${APP_NAME}_'
|
|
48
|
+
*) echo "❌ 表 '$t' 不是 '${APP_NAME}_' 前缀,拒绝输出(可能误伤 clawos)"; exit 1 ;;
|
|
38
49
|
esac
|
|
39
50
|
done
|
|
40
51
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
echo "跳过删表(FC 已删;表保留)。"
|
|
52
|
-
fi
|
|
52
|
+
echo ""
|
|
53
|
+
echo "==> ⚠️ 下面是要删的 Supabase 表,脚本不直接调 DB"
|
|
54
|
+
echo " (阿里云自建无 management API + bash 调不到 MCP)"
|
|
55
|
+
echo ""
|
|
56
|
+
for t in $SUPABASE_TABLES; do
|
|
57
|
+
echo " DROP TABLE IF EXISTS public.$t CASCADE;"
|
|
58
|
+
done
|
|
59
|
+
echo ""
|
|
60
|
+
echo "==> agent: 上面这几条 DROP 请用 supabase MCP 跑(mcp__supabase__execute_sql),"
|
|
61
|
+
echo " 完了项目清理才算完成"
|
|
53
62
|
else
|
|
54
|
-
echo "ext.conf 未声明 SUPABASE_TABLES
|
|
63
|
+
echo "ext.conf 未声明 SUPABASE_TABLES,无表要清理。"
|
|
55
64
|
fi
|
|
56
65
|
|
|
57
66
|
echo "✅ $APP_NAME 清理完成。"
|
package/package.json
CHANGED