void/db: support Drizzle's casing option
Maintainers usually reply within 1 day
A pull request for this has already been merged.
- #494 by @Brooooooklyn — merged
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 75/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- postgresql, typescript
- Domain
- databases
Research direction
Start with packages/void/src/plugin-drizzle.ts around the PostgreSQL client setup and packages/void/src/drizzle/config.ts where the drizzle-kit config is written. Trace how Drizzle options reach runtime queries and void db generate, then check existing tests for those paths. Done when both paths honor casing: 'snake_case' and use snake_case column names.
Written by the indexing model from the issue text.
Description
What
void/db and void db generate ignore Drizzle's casing option, so a schema written for casing: 'snake_case' gets camelCase column names.
Drizzle's casing lets a schema declare createdAt: timestamp() and store it as created_at (Drizzle: camel and snake casing).
Void builds the PostgreSQL client with schema only (plugin-drizzle.ts), and the drizzle-kit config it writes has no casing (drizzle/config.ts).
Every table in our schema relies on snake_case casing against an existing database. To move to Void, we'd have to name every column by hand, or the column names would change.
Done when
A schema written for casing: 'snake_case' gets snake_case columns from both void db generate and runtime void/db queries.
- Dominant language
- TypeScript
- Stars
- 402
- Forks
- 32
- Avg merge
- 11h 52m
- Merged PRs (30d)
- 88
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from voidzero-dev/void
-
bug
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
voidzero-dev/void#428 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
voidzero-dev/void#511 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
voidzero-dev/void#510 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
voidzero-dev/void#509 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
voidzero-dev/void#507 ·
Maintainers usually reply within 1 day
All issues in voidzero-dev/void
Similar issues
-
area: app type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ExpidetGames/code-reviewer#585 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 83/100
module-federation/core#5205 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
LanternOps/breeze#9392 · 1 comment ·
Maintainers usually reply within 1 day
-
engine-rs P3 review-deferral wasm
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
maniator/verticopolis#1154 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day