Install the Drizzle adapter and Drizzle ORM:
$ pnpm add @bolkauth/adapter-drizzle drizzle-orm
Install the migration CLI as a development dependency:
$ pnpm add -D drizzle-kit
import { createBolkAuth } from "@bolkauth/core";
import { createDrizzleAdapter } from "@bolkauth/adapter-drizzle/pg";
import { db } from "@/db";
export const auth = createBolkAuth({
adapter: createDrizzleAdapter(db),
secret: process.env.BOLKAUTH_SECRET!,
});
You can also import the schema objects:
export {
authUsers,
authAccounts,
authSessions,
authVerificationTokens,
authUserMetadata,
} from "@bolkauth/adapter-drizzle/pg";
import { createBolkAuth } from "@bolkauth/core";
import { createDrizzleAdapter } from "@bolkauth/adapter-drizzle/mysql";
import { db } from "@/db";
export const auth = createBolkAuth({
adapter: createDrizzleAdapter(db),
secret: process.env.BOLKAUTH_SECRET!,
});
Import the MySQL schema objects from the same subpath:
export {
authUsers,
authAccounts,
authSessions,
authVerificationTokens,
authUserMetadata,
} from "@bolkauth/adapter-drizzle/mysql";
import { defineConfig } from "drizzle-kit";
export default defineConfig({
schema: "./db/schema.ts",
out: "./db/migrations",
dialect: "postgresql",
dbCredentials: {
url: process.env.DATABASE_URL!,
},
});
Use dialect: "mysql" for MySQL projects.
The adapter exports:
| Export | Table |
|---|
authUsers | bolkauth_users |
authAccounts | bolkauth_accounts |
authSessions | bolkauth_sessions |
authVerificationTokens | bolkauth_verification_tokens |
authUserMetadata | bolkauth_user_metadata |
Generate and apply Drizzle migrations from your app:
pnpm drizzle-kit generate
pnpm drizzle-kit migrate