CLI

Better Auth 提供了内置的命令行工具(CLI),帮助你管理数据库、初始化项目,以及为应用程序生成密钥。

生成数据库架构

generate 命令用于创建 Better Auth 所需的架构。如果你使用的是 Prisma 或 Drizzle 等数据库适配器,此命令将为你的 ORM 生成相应的架构。如果你使用内置的 Kysely 适配器,它将生成一个可以直接在数据库中运行的 SQL 文件。

Terminal
npx @better-auth/cli@latest generate

选项

  • --output - 保存生成架构的位置。对于 Prisma,将保存在 prisma/schema.prisma;对于 Drizzle,保存在项目根目录的 schema.ts;对于 Kysely,保存为项目根目录中的 schema.sql。
  • --config - Better Auth 配置文件的路径。默认情况下,CLI 将在 ./, ./utils, ./libsrc 目录下的这些目录中搜索 auth.ts 文件。
  • --y - 跳过确认提示,直接生成架构。

迁移数据库

migrate 命令将 Better Auth 架构直接应用到你的数据库。此功能仅在使用内置的 Kysely 适配器时可用。对于其他适配器,你需要使用 ORM 自己的迁移工具来应用架构。

Terminal
npx @better-auth/cli@latest migrate

选项

  • --config - Better Auth 配置文件的路径。默认情况下,CLI 将在 ./, ./utils, ./libsrc 目录下的这些目录中搜索 auth.ts 文件。
  • --y - 跳过确认提示,直接应用架构。

初始化

init 命令允许你在项目中初始化 Better Auth。

Terminal
npx @better-auth/cli@latest init

选项

  • --name - 你的应用程序名称。(默认使用 package.json 中的 name 属性。)
  • --framework - 你的代码库使用的框架。目前仅支持 nextjs 框架。
  • --plugins - 你想要使用的插件。可以通过逗号分隔指定多个插件。
  • --database - 你想要使用的数据库。目前仅支持 sqlite 数据库。
  • --package-manager - 你想要使用的包管理器。目前支持的包管理器有 npmpnpmyarnbun。(默认使用你初始化 CLI 时使用的管理器。)

生成密钥

CLI 还提供了为你的 Better Auth 实例生成密钥的方法。

Terminal
npx @better-auth/cli@latest secret

常见问题

错误:找不到模块 X

如果你看到这个错误,说明 CLI 无法解析你的 Better Auth 配置文件中导入的模块。我们正在努力修复这些问题,但在此期间,你可以尝试以下方法:

  • 删除配置文件中的任何导入别名,改用相对路径。运行 CLI 后,你可以恢复使用别名。

On this page