---
title: "Database Adapters"
description: "How Better Auth Studio connects to Prisma, Drizzle, and SQLite databases."
canonical_url: "https://docs-cloud-kinfe123-better-auth-studio.farming-labs.dev/docs/configuration/database-adapters"
markdown_url: "https://docs-cloud-kinfe123-better-auth-studio.farming-labs.dev/docs/configuration/database-adapters.md"
last_updated: "2018-10-20"
---

# Database Adapters
URL: /docs/configuration/database-adapters
LLM index: /llms.txt
Description: How Better Auth Studio connects to Prisma, Drizzle, and SQLite databases.

# Database Adapters

Better Auth Studio reads and writes your auth database through the same adapter you already configured in `auth.ts`. It auto-detects which adapter is in use when the CLI starts, so in most cases you don't need to do anything extra.

## Supported adapters

The studio works with:

- **Prisma** (`prismaAdapter`) — PostgreSQL, MySQL, and SQLite providers
- **Drizzle** (`drizzleAdapter`) — `pg`, `mysql`, and `sqlite` providers
- **better-sqlite3** (`new Database(...)`) — direct SQLite without an ORM

## Prisma

If your project already uses Prisma, your `auth.ts` likely looks like this:

```typescript
import { betterAuth } from "better-auth";
import { prismaAdapter } from "better-auth/adapters/prisma";
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

export const auth = betterAuth({
  database: prismaAdapter(prisma, {
    provider: "postgresql", // or "mysql" or "sqlite"
  }),
});
```

The studio picks this up automatically. No additional configuration is needed.

## Drizzle

For Drizzle, the setup looks like:

```typescript
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "./database";

export const auth = betterAuth({
  database: drizzleAdapter(db, {
    provider: "pg", // or "mysql" or "sqlite"
  }),
});
```

## SQLite

For projects using `better-sqlite3` directly:

```typescript
import { betterAuth } from "better-auth";
import Database from "better-sqlite3";

export const auth = betterAuth({
  database: new Database("./better-auth.db"),
});
```

## Migrations and schema

Some studio features — such as `lastSeenAt` tracking on user records — add columns to your database schema. After enabling those features, run your migrations before restarting the studio:

```bash
# Prisma
npx prisma migrate dev

# Drizzle
npx drizzle-kit push
```

The studio will warn you in the UI if a required column is missing.

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
Docs-scoped sitemap: [/docs/sitemap.md](/docs/sitemap.md).
Well-known sitemap: [/.well-known/sitemap.md](/.well-known/sitemap.md).
