Drizzle ORM 适配器

Drizzle ORM是一个强大且灵活的Node.js和TypeScript ORM。它提供了一个简单直观的API用于操作数据库,并支持多种数据库,包括 MySQL、PostgreSQL、SQLite 等。 了解更多信息:Drizzle ORM

使用示例

确保您已安装并配置了 Drizzle。 然后,您可以使用 Drizzle 适配器连来配置better-auth数据库。

auth.ts
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 ORM定义的数据库与表名匹配。例如,如果您的 Drizzle 将 user 表映射为 users,您需要手动传递定义的类型并将其映射到用户表。

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: true,
  }),
});

如果您正在寻找性能改进或提示,请查看我们的性能优化指南。

On this page