LogoTanStarter 文档
LogoTanStarter 文档
首页模板介绍代码库快速开始环境配置
网站配置
部署

功能集成

Cloudflare数据库身份验证邮件邮件订阅存储支付通知分析聊天框联盟营销

功能定制

元数据页面落地页博客组件用户管理密钥管理

代码库

项目结构代码检查编辑器设置更新代码库
X (Twitter)

数据库

了解如何为 TanStarter 项目配置 Cloudflare D1 数据库

本文档涵盖了数据库的创建、初始化和使用 Drizzle ORM 连接 Cloudflare D1 数据库。

设置

创建和初始化本地数据库

本地 D1 数据库可以在执行数据库初始化命令时自动创建,运行下面命令初始化本地数据库:

pnpm db:migrate:local

对于本地开发,您可以使用下面的命令打开 Drizzle Studio 进行本地数据库管理:

pnpm db:studio:local

创建远程 D1 数据库

远程 D1 数据库需要手动创建,创建之前需要先配置 Cloudflare API Token。

(1) 配置 Cloudflare API Token

请先完成 Cloudflare API Token 配置,确保 Token 至少包含 Account > D1 > Edit 权限。

(2) 创建远程数据库

可以通过 Cloudflare 仪表盘或 Wrangler CLI 创建远程 D1 数据库:

  1. 创建新的 D1 数据库:
pnpm wrangler d1 create your-database-name
  1. 命令执行成功之后的提问时选择 no,并从命令输出中复制 database_id
  1. 登录 Cloudflare 仪表盘
  2. 导航到 Storage & Databases > D1 SQL Databases
  3. 点击 Create Database
  4. 输入数据库名称,点击 Create
  5. 创建完成后,从数据库详情页复制 Database ID

创建完成后,更新 wrangler.jsonc 文件中的 database_id 和 database_name:

wrangler.jsonc
"d1_databases": [
  {
    "binding": "DB",
    "database_name": "your-database-name",  // 更改为你的数据库名称
    "database_id": "your-database-id",  // 更改为你的数据库 ID
    "migrations_dir": "./src/db/migrations"
  }
],

同时将数据库 ID 添加到环境变量文件中:

.env
CLOUDFLARE_DATABASE_ID=your-database-id

初始化远程数据库

执行下面命令初始化远程数据库:

pnpm db:migrate:remote

执行下面命令查看和管理远程数据库:

pnpm db:studio:remote

如果您正在设置环境,现在可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。

环境配置

设置环境变量


数据库结构

数据库 schema 定义在 src/db/ 目录中:

  • src/db/auth.schema.ts - Better Auth schema(自动生成)
  • src/db/app.schema.ts - 应用程序 schema

数据库包含以下表:

  • Users - 用户账户和资料
  • Sessions - 用户认证会话
  • Accounts - OAuth 账户关联
  • Verification - 邮箱验证令牌
  • API Keys - API 密钥管理
  • Payments - 支付记录和订阅跟踪
  • User Files - 用户上传文件的元数据

数据库命令

TanStarter 提供了以下数据库管理命令:

命令描述
pnpm db:generate生成 Drizzle 迁移文件
pnpm db:push将 schema 变更推送到数据库
pnpm db:studio:local打开 Drizzle Studio(本地数据库)
pnpm db:studio:remote打开 Drizzle Studio(远程数据库)
pnpm db:migrate:local应用迁移(本地数据库)
pnpm db:migrate:remote应用迁移(远程数据库)

参考资料

  • Cloudflare D1 文档
  • Drizzle ORM 文档
  • Wrangler CLI 参考

下一步

现在您了解了如何在 TanStarter 中设置数据库,您可能想要探索这些相关功能:

身份验证

配置用户身份验证

电子邮件

配置电子邮件服务

邮件订阅

配置邮件列表订阅

部署

部署到 Cloudflare Workers

Cloudflare

了解如何获取和配置 Cloudflare API Token,用于操作远程数据库、存储和部署

身份验证

学习如何在 TanStarter 中使用 Better Auth 设置和使用身份验证

目录

设置
创建和初始化本地数据库
创建远程 D1 数据库
(1) 配置 Cloudflare API Token
(2) 创建远程数据库
初始化远程数据库
数据库结构
数据库命令
参考资料
下一步