[PR #6132] [MERGED] chore(fix): usePlural should work wtith joins #6468

Closed
opened 2026-03-13 13:00:21 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/6132
Author: @ping-maxwell
Created: 11/20/2025
Status: Merged
Merged: 11/21/2025
Merged by: @Bekacru

Base: canaryHead: fix/plural-with-joins


📝 Commits (10+)

📊 Changes

14 files changed (+313 additions, -64 deletions)

View changed files

📝 packages/better-auth/src/adapters/adapter-factory/get-default-field-name.ts (+3 -5)
📝 packages/better-auth/src/adapters/adapter-factory/get-default-model-name.ts (+3 -5)
📝 packages/better-auth/src/adapters/adapter-factory/get-field-attributes.ts (+3 -1)
📝 packages/better-auth/src/adapters/create-test-suite.ts (+16 -2)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+32 -16)
📝 packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.sqlite.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+4 -6)
📝 packages/better-auth/src/adapters/test-adapter.ts (+7 -1)
📝 packages/better-auth/src/adapters/tests/basic.ts (+7 -7)
📝 packages/cli/src/generators/drizzle.ts (+10 -4)
📝 packages/cli/src/generators/prisma.ts (+20 -16)
packages/cli/test/__snapshots__/auth-schema-drizzle-use-plural.txt (+93 -0)
packages/cli/test/__snapshots__/schema-prisma-use-plural.prisma (+72 -0)
📝 packages/cli/test/generate.test.ts (+42 -0)

📄 Description

This PR fixes:

  • Prisma CLI generator doesn’t respect usePlural
  • No schema unit tests for usePlural.
  • Drizzle usePlural will cause relations to generate with double s’s (eg “sessionss”)

Summary by cubic

Fixes usePlural handling across adapters and CLI generators so joins and relation keys are correct and schemas generate consistently. Prevents double “s” and mismatched singular/plural mapping in Drizzle and Prisma.

  • Bug Fixes
    • Drizzle adapter: correct join key suffix based on isUnique/usePlural; remap join results to expected keys under usePlural; only apply limit/offset when provided.
    • Prisma adapter: join key naming respects usePlural; relation field names toggle between singular/plural accordingly.
    • CLI generators: Drizzle relations avoid double “s”; Prisma and Drizzle use initGetModelName/initGetFieldName for consistent naming; added snapshots to lock schema output with usePlural.
    • Utilities/tests: removed noisy schema error logs; test adapters and cleanup resolve model names with usePlural.

Written for commit 6fbecc8f8f. Summary will update automatically on new commits.


🔄 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/6132 **Author:** [@ping-maxwell](https://github.com/ping-maxwell) **Created:** 11/20/2025 **Status:** ✅ Merged **Merged:** 11/21/2025 **Merged by:** [@Bekacru](https://github.com/Bekacru) **Base:** `canary` ← **Head:** `fix/plural-with-joins` --- ### 📝 Commits (10+) - [`a4336c6`](https://github.com/better-auth/better-auth/commit/a4336c634cf91f7547617b312072d5fcd04e4ef6) fix: usePlural breaks joins - [`a79a20a`](https://github.com/better-auth/better-auth/commit/a79a20a5296036f046eec8fb1455ec7bfa779816) chore: lint - [`7612799`](https://github.com/better-auth/better-auth/commit/76127996f94aed122db1b2868440429ba8f07875) chore: remove logs - [`8b5a2a6`](https://github.com/better-auth/better-auth/commit/8b5a2a658ee433777d8eee191f586d280775010d) Merge branch 'canary' into fix/plural-with-joins - [`7fc3480`](https://github.com/better-auth/better-auth/commit/7fc3480d55977ce548338cfa10820feee418a3d9) fix: CI - [`dfeaf4a`](https://github.com/better-auth/better-auth/commit/dfeaf4a5adcfb8245449b9dfa831b4154d8f7350) fix: CI v2 - [`9107ddc`](https://github.com/better-auth/better-auth/commit/9107ddcc1b5578a99fcddf8be6638a3422169ae2) Merge branch 'canary' into fix/plural-with-joins - [`ce697ed`](https://github.com/better-auth/better-auth/commit/ce697ed867a02a1dd8fa10231ee1bdaff3ea24b8) remove - [`83f505d`](https://github.com/better-auth/better-auth/commit/83f505d011256bce97e4c61a1c0095b7d8b8e2d1) Merge branch 'canary' into fix/plural-with-joins - [`6fbecc8`](https://github.com/better-auth/better-auth/commit/6fbecc8f8f3a76c17a66ab3d2346bb7093e0065a) fix: add stack to erorr ### 📊 Changes **14 files changed** (+313 additions, -64 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/adapters/adapter-factory/get-default-field-name.ts` (+3 -5) 📝 `packages/better-auth/src/adapters/adapter-factory/get-default-model-name.ts` (+3 -5) 📝 `packages/better-auth/src/adapters/adapter-factory/get-field-attributes.ts` (+3 -1) 📝 `packages/better-auth/src/adapters/create-test-suite.ts` (+16 -2) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+32 -16) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.sqlite.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+4 -6) 📝 `packages/better-auth/src/adapters/test-adapter.ts` (+7 -1) 📝 `packages/better-auth/src/adapters/tests/basic.ts` (+7 -7) 📝 `packages/cli/src/generators/drizzle.ts` (+10 -4) 📝 `packages/cli/src/generators/prisma.ts` (+20 -16) ➕ `packages/cli/test/__snapshots__/auth-schema-drizzle-use-plural.txt` (+93 -0) ➕ `packages/cli/test/__snapshots__/schema-prisma-use-plural.prisma` (+72 -0) 📝 `packages/cli/test/generate.test.ts` (+42 -0) </details> ### 📄 Description This PR fixes: - Prisma CLI generator doesn’t respect `usePlural` - No schema unit tests for usePlural. - Drizzle usePlural will cause relations to generate with double `s`’s (eg “sessionss”) <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes usePlural handling across adapters and CLI generators so joins and relation keys are correct and schemas generate consistently. Prevents double “s” and mismatched singular/plural mapping in Drizzle and Prisma. - **Bug Fixes** - Drizzle adapter: correct join key suffix based on isUnique/usePlural; remap join results to expected keys under usePlural; only apply limit/offset when provided. - Prisma adapter: join key naming respects usePlural; relation field names toggle between singular/plural accordingly. - CLI generators: Drizzle relations avoid double “s”; Prisma and Drizzle use initGetModelName/initGetFieldName for consistent naming; added snapshots to lock schema output with usePlural. - Utilities/tests: removed noisy schema error logs; test adapters and cleanup resolve model names with usePlural. <sup>Written for commit 6fbecc8f8f3a76c17a66ab3d2346bb7093e0065a. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> --- <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 13:00:21 -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#6468