用户指南应用部署
Cloudflare Workers 部署
TanStack Start 应用部署到 Cloudflare Workers 的说明(支持 Hyperdrive 与 D1)
本指南介绍如何将 TinyShip 的 TanStack Start 应用部署到 Cloudflare Workers。
适用范围:仅适用于 apps/tanstack-app(TanStack Start)。
数据库方案
| 方案 | 数据库 | DB_DIALECT | 适用场景 |
|---|---|---|---|
| Hyperdrive(推荐) | PostgreSQL | pg | 复用已有 PostgreSQL、三框架统一数据库 |
| Cloudflare D1 | SQLite (D1) | d1 | All-in Cloudflare、低运维 |
| Neon Serverless | PostgreSQL (HTTP) | pg | Neon 用户替代路径 |
部署步骤
1) 登录 Cloudflare
cd apps/tanstack-app
npx wrangler login2) 配置数据库
方案 A:Hyperdrive + PostgreSQL
npx wrangler hyperdrive create tinyship-db \
--connection-string="postgresql://user:password@host:5432/dbname"在 wrangler.jsonc 配置:
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "<your-hyperdrive-id>",
"localConnectionString": "postgresql://user:pwd@localhost:5432/tinyship"
}
]方案 B:D1(SQLite)
cd apps/tanstack-app
npx wrangler d1 create tinyship-db在 wrangler.jsonc 配置:
"vars": {
"DB_DIALECT": "d1",
"APP_BASE_URL": "https://your-domain.com",
"BETTER_AUTH_URL": "https://your-domain.com"
},
"d1_databases": [
{
"binding": "DB",
"database_name": "tinyship-db",
"database_id": "<your-d1-database-id>"
}
]使用 D1 时请移除或注释 hyperdrive 配置。
D1 迁移与初始化
pnpm db:generate:sqlite
npx wrangler d1 migrations apply tinyship-db
# 或本地预览环境
npx wrangler d1 migrations apply tinyship-db --local3) 配置 Secrets
npx wrangler secret put BETTER_AUTH_SECRET
npx wrangler secret put DATABASE_URL
# 按需补充其他密钥4) 本地预览
cd apps/tanstack-app
pnpm dev:cf5) 部署上线
cd apps/tanstack-app
pnpm run deploy:cf关键说明
- Cloudflare Workers 下已支持
pg/d1两条主路径 - SQLite 与 D1 共用同一套 schema 定义
- 如果你同时部署 Next/Nuxt/TanStack,推荐 Hyperdrive + PostgreSQL 保持统一