Drizzle ORM 适配器
Drizzle ORM 是一个强大且灵活的 Node.js 和 TypeScript ORM。它提供了简单直观的 API 来操作数据库,并支持多种数据库,包括 MySQL、PostgreSQL、SQLite 等。 了解更多:Drizzle ORM。
示例用法
确保已安装并配置好 Drizzle。 然后,您可以使用 Drizzle 适配器连接到您的数据库。
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "./database.ts";
export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "sqlite", // 或 "pg" 或 "mysql"
}),
//... 其余配置
});
模式生成与迁移
Better Auth CLI 允许您根据 Better Auth 配置和插件生成或迁移数据库模式。
要生成 Better Auth 所需的模式,请运行以下命令:
npx @better-auth/cli@latest generate
要生成并应用迁移,请运行以下命令:
npx drizzle-kit generate # 生成迁移文件
npx drizzle-kit migrate # 应用迁移
附加信息
Drizzle 适配器要求您定义的 schema 与表名相匹配。例如,如果您的 Drizzle schema 将 user
表映射为 users
,您需要手动传递 schema 并将其映射到 user 表。
import { betterAuth } from "better-auth";
import { db } from "./drizzle";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { schema } from "./schema";
export const auth = betterAuth({
database: drizzleAdapter(db, {
provider: "sqlite", // 或 "pg" 或 "mysql"
schema: {
...schema,
user: schema.users,
},
}),
});
如果您所有的表都使用复数形式,您可以直接传递 usePlural
选项:
export const auth = betterAuth({
database: drizzleAdapter(db, {
...
usePlural: true,
}),
});
如果您正在寻求性能改进或技巧,请查看我们的 性能优化指南。