-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
提交前检查
- 我已经查看了 相关 Issue 并搜索了现有的Issue没有找到类似的问题。
部署方式
Cloudflare Worker And Pages
操作系统
windows
应用/项目版本
CloudPaste
问题概述 (实际行为)
CloudPaste
Run echo "检查并创建 D1 数据库..."
检查并创建 D1 数据库...
创建新的 D1 数据库...
Error: 进程已结束,退出代码为 1.
日志
Run echo "检查并创建 D1 数据库..."
echo "检查并创建 D1 数据库..."
DATABASE_LIST=$(npx wrangler d1 list --json 2>/dev/null || echo "[]")
EXISTING_DB=$(echo "$DATABASE_LIST" | jq -r '.[] | select(.name=="cloudpaste-db") | .uuid')
if [ -n "$EXISTING_DB" ]; then
echo "✅ 找到现有 D1 数据库: $EXISTING_DB"
DATABASE_ID=$EXISTING_DB
else
echo "创建新的 D1 数据库..."
CREATE_OUTPUT=$(npx wrangler d1 create cloudpaste-db 2>&1)
if echo "$CREATE_OUTPUT" | grep -q "Successfully created DB"; then
DATABASE_ID=$(echo "$CREATE_OUTPUT" | grep -oP "database_id = \"\K[^\"]+")
if [ -z "$DATABASE_ID" ]; then
DATABASE_ID=$(echo "$CREATE_OUTPUT" | grep -oP "([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})")
fi
echo "✅ 数据库创建成功: $DATABASE_ID"
else
LIST_OUTPUT=$(npx wrangler d1 list --json 2>/dev/null || echo "[]")
DATABASE_ID=$(echo "$LIST_OUTPUT" | jq -r '.[] | select(.name=="cloudpaste-db") | .uuid')
if [ -z "$DATABASE_ID" ]; then
echo "❌ 无法创建或找到 D1 数据库"
exit 1
fi
fi
fi
更新 wrangler.spa.toml 中的 database_id
echo "更新 wrangler.spa.toml 中的数据库 ID..."
sed -i -E "s/(database_id = ")[^\"]+("\s*$)/\1$DATABASE_ID\2/" wrangler.spa.toml
验证更新
if grep -q "$DATABASE_ID" wrangler.spa.toml; then
echo "✅ wrangler.spa.toml 更新成功"
else
echo "❌ wrangler.spa.toml 更新失败"
exit 1
fi
echo "database_id=$DATABASE_ID" >> $GITHUB_ENV
shell: /usr/bin/bash -e {0}
env:
CLOUDFLARE_API_TOKEN:
CLOUDFLARE_ACCOUNT_ID:
检查并创建 D1 数据库...
创建新的 D1 数据库...
Error: 进程已结束,退出代码为 1.
我不会了555
如果你愿意 可以加我qq 3628385871 谢谢了!
复现步骤
直接部署
预期行为
成功部署
截图 (可选)
No response
控制台日志 (如果适用)
其他信息 (可选)
No response