[PR #5445] [CLOSED] feat(adapter): Join adapter support (old v2) #6014

Closed
opened 2026-03-13 12:44:38 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5445
Author: @ping-maxwell
Created: 10/21/2025
Status: Closed

Base: canaryHead: feat/adapter-join-v2


📝 Commits (10+)

  • 705166b feat(adapter): Join adapter support
  • d9a79b1 Merge branch 'canary' into feat/adapter-join-v2
  • 03089fd fix: change requests
  • 9c446ab add: memory adapter support
  • ca59835 Merge branch 'canary' into feat/adapter-join-v2
  • 2cdd8c8 update: progress
  • 0bf1574 update: prisma working
  • 3688258 Merge branch 'canary' into feat/adapter-join-v2
  • f74911d update: support mongo
  • 2785719 Merge branch 'canary' into feat/adapter-join-v2

📊 Changes

30 files changed (+1881 additions, -422 deletions)

View changed files

📝 docker-compose.yml (+14 -1)
📝 packages/better-auth/src/__snapshots__/init.test.ts.snap (+1 -0)
packages/better-auth/src/adapters/adapter-factory/get-default-field-name.ts (+63 -0)
packages/better-auth/src/adapters/adapter-factory/get-default-model-name.ts (+55 -0)
packages/better-auth/src/adapters/adapter-factory/get-field-name.ts (+43 -0)
packages/better-auth/src/adapters/adapter-factory/get-model-name.ts (+36 -0)
📝 packages/better-auth/src/adapters/adapter-factory/index.ts (+320 -191)
📝 packages/better-auth/src/adapters/create-test-suite.ts (+6 -3)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+120 -7)
📝 packages/better-auth/src/adapters/index.ts (+11 -1)
📝 packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts (+256 -25)
📝 packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.pg-custom-schema.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts (+219 -117)
📝 packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts (+158 -25)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+68 -7)
📝 packages/better-auth/src/adapters/prisma-adapter/test/generate-prisma-schema.ts (+1 -0)
📝 packages/better-auth/src/adapters/prisma-adapter/test/push-prisma-schema.ts (+1 -1)
📝 packages/better-auth/src/adapters/test-adapter.ts (+14 -2)
📝 packages/better-auth/src/adapters/tests/basic.ts (+367 -1)
📝 packages/better-auth/src/adapters/tests/index.ts (+1 -1)

...and 10 more files

📄 Description

Join support

OUTDATED PR.

New: https://github.com/better-auth/better-auth/pull/5594

Adapter join support, allows you to combine multiple queries into one.

This PR also:

  • Fixes a Kysely migration bug where we incorrectly generate foreign keys without inferring custom model/field names.
  • Exports DB field/model name helper functions such as getDefaultModelName, getDefaultFieldName, getFieldName, getModelName.
  • Fixes Prisma generation which didn't previously take into account of custom model/field name for relations.

Example usage

image

Result

image

Todo

  • fully featured test
  • drizzle
  • memory
  • kysely
  • prisma
  • mongo

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/5445 **Author:** [@ping-maxwell](https://github.com/ping-maxwell) **Created:** 10/21/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat/adapter-join-v2` --- ### 📝 Commits (10+) - [`705166b`](https://github.com/better-auth/better-auth/commit/705166bee61974ebcb1629a02a345519c1868a3d) feat(adapter): Join adapter support - [`d9a79b1`](https://github.com/better-auth/better-auth/commit/d9a79b14329c96660ba63031e8dfebd2f8e5414c) Merge branch 'canary' into feat/adapter-join-v2 - [`03089fd`](https://github.com/better-auth/better-auth/commit/03089fd8199c3fa7dea3a9f753134acb0774145d) fix: change requests - [`9c446ab`](https://github.com/better-auth/better-auth/commit/9c446ab27b458e69fe83dd197d2cb032f54bed29) add: memory adapter support - [`ca59835`](https://github.com/better-auth/better-auth/commit/ca598354a7908abced7d8c36665bb87b57606368) Merge branch 'canary' into feat/adapter-join-v2 - [`2cdd8c8`](https://github.com/better-auth/better-auth/commit/2cdd8c879e48ad9714d01f76e53078d1263a11d3) update: progress - [`0bf1574`](https://github.com/better-auth/better-auth/commit/0bf1574caf73ce14d3ac7ff34667ebfaa3353d3f) update: prisma working - [`3688258`](https://github.com/better-auth/better-auth/commit/3688258faf5015946e7220e69a9b4b6162b44cbf) Merge branch 'canary' into feat/adapter-join-v2 - [`f74911d`](https://github.com/better-auth/better-auth/commit/f74911dcecd76b167a5767509d62b120782fa579) update: support mongo - [`2785719`](https://github.com/better-auth/better-auth/commit/27857192677b1e9cd7697227946e924ca3740474) Merge branch 'canary' into feat/adapter-join-v2 ### 📊 Changes **30 files changed** (+1881 additions, -422 deletions) <details> <summary>View changed files</summary> 📝 `docker-compose.yml` (+14 -1) 📝 `packages/better-auth/src/__snapshots__/init.test.ts.snap` (+1 -0) ➕ `packages/better-auth/src/adapters/adapter-factory/get-default-field-name.ts` (+63 -0) ➕ `packages/better-auth/src/adapters/adapter-factory/get-default-model-name.ts` (+55 -0) ➕ `packages/better-auth/src/adapters/adapter-factory/get-field-name.ts` (+43 -0) ➕ `packages/better-auth/src/adapters/adapter-factory/get-model-name.ts` (+36 -0) 📝 `packages/better-auth/src/adapters/adapter-factory/index.ts` (+320 -191) 📝 `packages/better-auth/src/adapters/create-test-suite.ts` (+6 -3) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+120 -7) 📝 `packages/better-auth/src/adapters/index.ts` (+11 -1) 📝 `packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts` (+256 -25) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.pg-custom-schema.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts` (+219 -117) 📝 `packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts` (+158 -25) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+68 -7) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/generate-prisma-schema.ts` (+1 -0) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/push-prisma-schema.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/test-adapter.ts` (+14 -2) 📝 `packages/better-auth/src/adapters/tests/basic.ts` (+367 -1) 📝 `packages/better-auth/src/adapters/tests/index.ts` (+1 -1) _...and 10 more files_ </details> ### 📄 Description # Join support ## OUTDATED PR. New: https://github.com/better-auth/better-auth/pull/5594 Adapter join support, allows you to combine multiple queries into one. This PR also: * Fixes a Kysely migration bug where we incorrectly generate foreign keys without inferring custom model/field names. * Exports DB field/model name helper functions such as `getDefaultModelName`, `getDefaultFieldName`, `getFieldName`, `getModelName`. * Fixes Prisma generation which didn't previously take into account of custom model/field name for relations. --- ## Example usage <img width="550" height="181" alt="image" src="https://github.com/user-attachments/assets/8d69c83b-89e0-401c-a326-5254fba16442" /> ### Result <img width="533" height="246" alt="image" src="https://github.com/user-attachments/assets/efd14fe8-5298-45fd-8e7f-23f02f2c6047" /> --- ## Todo - [ ] fully featured test - [x] drizzle - [x] memory - [x] kysely - [x] prisma - [x] mongo --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 12:44:38 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#6014