packages/db/src/schema/.
Database Connection
The database connection is configured inpackages/db/src/index.ts using Bun’s SQL adapter:
packages/db/src/index.ts
Tables
User Table
Stores user account information:packages/db/src/schema/auth.ts
Session Table
Manages user sessions with device tracking:packages/db/src/schema/auth.ts
Account Table
Stores OAuth provider credentials:packages/db/src/schema/auth.ts
Verification Table
Handles email verification and password reset tokens:packages/db/src/schema/auth.ts
Organization Table
Manages multi-tenant organizations:packages/db/src/schema/auth.ts
Team Table
Organization sub-groups:packages/db/src/schema/auth.ts
Member Table
Organization membership with roles:packages/db/src/schema/auth.ts
Team Member Table
Team membership junction table:packages/db/src/schema/auth.ts
Invitation Table
Pending organization invitations:packages/db/src/schema/auth.ts
Relations
Drizzle relations enable type-safe joins and eager loading:User Relations
packages/db/src/schema/auth.ts
Organization Relations
packages/db/src/schema/auth.ts
Team Relations
packages/db/src/schema/auth.ts
one() for foreign key references.
Key Features
Automatic Timestamps
Most tables use$onUpdate() for automatic timestamp updates:
Cascade Deletes
Foreign keys useonDelete: "cascade" to maintain referential integrity:
Indexes
Tables define indexes on frequently queried foreign keys:Better Auth Integration
The schema is used with Better Auth via the Drizzle adapter:packages/auth/src/index.ts