概述
了解 NEXTDEVKIT 中的数据库设置和管理。
NEXTDEVKIT 使用 Drizzle ORM,提供灵活且类型安全的 SQL 查询构建器。它设计为根据您的部署环境与不同的数据库后端平滑集成。
🚀 默认数据库集成
此启动套件预配置为与您选择的部署平台最适合的数据库配合使用:
平台 | 默认数据库 | 最适合 |
---|---|---|
通用/本地 | PostgreSQL | 强大功能、本地开发和标准部署。 |
Cloudflare Workers | Cloudflare D1 | 边缘部署和全球低延迟访问。 |
AWS (with SST) | AWS RDS | 可扩展的托管关系数据库,适用于生产工作负载。 |
📚 详细设置指南
选择您的数据库后端并遵循详细的设置指南:
PostgreSQL 设置
PostgreSQL 的完整设置指南,包括云提供商和自托管选项。
Cloudflare D1 设置
使用 Workers 和 KV 存储设置 Cloudflare D1 的分步指南。
AWS RDS 设置
为生产部署配置使用 SST 的 AWS RDS 的全面指南。
📋 数据库架构
您的数据库架构是数据结构的唯一真实来源。
如何修改架构
架构在一个中心位置定义:src/database/schema.ts
。
要修改数据库结构,您只需编辑此文件。您可以使用 Drizzle 的语法定义表、列和关系。例如,如果您使用 PostgreSQL,表定义将使用来自 drizzle-orm/pg-core
的导入。
// PostgreSQL 表定义示例
import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
export const user = pgTable("user", {
id: text("id").primaryKey(),
name: text("name").notNull(),
email: text("email").notNull().unique(),
// ... 其他字段
});
启动套件包含支持用户身份验证、订阅等的默认架构。您可以自由自定义它以满足您的需求。
如果您想切换到不同的数据库,可以通过在 src/database/client.ts
中更改数据库客户端来实现。
您可以参考 Drizzle ORM 文档 了解如何使用 ORM 的更多信息。
🔄 迁移
在您修改 src/database/schema.ts
中的架构后,需要生成并应用迁移来更新您的数据库。
-
生成迁移: 此命令将您的架构文件与数据库状态进行比较,并在
drizzle
目录中创建新的 SQL 迁移文件。pnpm db:generate
-
应用迁移: 此命令执行迁移文件以更新您的数据库架构。
pnpm db:migrate
🔧 如何使用数据库
您可以在应用程序代码中导入和使用数据库客户端来执行查询。
查询示例
以下是如何从数据库获取用户的方法:
import { db } from "@/database/client";
import { user } from "@/database/schema";
import { eq } from "drizzle-orm";
// 根据 ID 获取用户
const userData = await db
.select()
.from(user)
.where(eq(user.id, userId))
.limit(1);
Drizzle ORM 为构建各种类型的查询提供强大的 API,包括连接、事务和更复杂的过滤。
🔍 数据库工作室
Drizzle Studio 提供强大的 GUI 来直接从浏览器管理您的数据库。
pnpm db:studio
此命令打开一个 Web 界面,您可以:
- 📊 查看和浏览表数据
- ✏️ 添加、删除或编辑记录
- 🔍 运行和测试自定义查询
🔧 环境配置
环境变量
不同的数据库需要不同的环境变量:
# PostgreSQL
DATABASE_URL="postgresql://user:password@localhost:5432/database"
# Cloudflare D1(在 wrangler.jsonc 中配置)
# 不需要环境变量
# AWS RDS(在 aws 密钥管理器中配置)
# npx sst secret set NextDevKitDBPassword xxx --stage production
配置文件
- PostgreSQL:
.env.local
或.env
- Cloudflare D1:
wrangler.jsonc
- AWS RDS:
sst.config.ts
和环境变量
📚 详细设置指南
选择您的数据库后端并遵循详细的设置指南:
PostgreSQL 设置
PostgreSQL 的完整设置指南,包括云提供商和自托管选项。
Cloudflare D1 设置
使用 Workers 和 KV 存储设置 Cloudflare D1 的分步指南。
AWS RDS 设置
为生产部署配置使用 SST 的 AWS RDS 的全面指南。
🎯 下一步
现在您了解了数据库架构,深入了解您选择的平台的具体设置: