用户指南
数据库配置
PostgreSQL / SQLite / Cloudflare D1 多方言配置与切换
TinyShip 支持多数据库方言,通过 DB_DIALECT 在部署时切换,无需修改业务代码。
支持方言
| 方言 | DB_DIALECT | 说明 |
|---|---|---|
| PostgreSQL | pg(默认) | 生产环境推荐,验证最完整 |
| SQLite | sqlite | 本地文件数据库,适合本地开发 |
| Cloudflare D1 | d1 | Cloudflare Workers 托管 SQLite |
快速切换
# PostgreSQL(默认)
DB_DIALECT="pg"
DATABASE_URL="postgresql://username:password@localhost:5432/tinyship"
# SQLite
DB_DIALECT="sqlite"
# SQLITE_DB_PATH="./data/local.sqlite"
# D1(Workers)
DB_DIALECT="d1"常用命令
| 操作 | PostgreSQL | SQLite |
|---|---|---|
| 检查连接 | pnpm db:check | pnpm db:check:sqlite |
| 推送 schema | pnpm db:push | pnpm db:push:sqlite |
| 填充数据 | pnpm db:seed | pnpm db:seed:sqlite |
| 可视化管理 | pnpm db:studio | pnpm db:studio:sqlite |
D1 说明
- D1 与 SQLite 复用同一套 schema
- D1 迁移使用 Wrangler CLI:
wrangler d1 migrations apply - D1 仅用于 Cloudflare Workers 部署路径
如果三个应用(Next/Nuxt/TanStack)需要共享同一数据库,推荐使用 PostgreSQL(pg)。