drizzle-team / drizzle-team/drizzle-orm
[FEATURE]: Allow passing empty arrays to `.values()` during insert
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### Describe what you want
When inserting values into the database, sometimes I end up needing to add an empty array. Currently this throws an error:
```
Error: values() must be called with at least one value
at PgInsertBuilder.values (/Users/hansenq/Documents/CS/lightski/node_modules/src/pg-core/query-builders/insert.ts:50:10)
at db.transaction.isolationLevel (/Users/hansenq/Documents/CS/lightski/packages/database/bin/data-migrations/2024-01-23-backfill-embeds-from-assistants.ts:50:33)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at async NodePgSession.transaction (/Users/hansenq/Documents/CS/lightski/node_modules/src/node-postgres/session.ts:138:19)
at async backfillEmbedsFromAssistants (/Users/hansenq/Documents/CS/lightski/packages/database/bin/data-migrations/2024-01-23-backfill-embeds-from-assistants.ts:38:3)
at async /Users/hansenq/Documents/CS/lightski/packages/database/bin/data-migrations/2024-01-23-backfill-embeds-from-assistants.ts:84:5
at async withDb (/Users/hansenq/Documents/CS/lightski/packages/database/bin/data-migrations/2024-01-23-backfill-embeds-from-assistants.ts:31:5)
at async main (/Users/hansenq/Documents/CS/lightski/packages/database/bin/data-migrations/2024-01-23-backfill-embeds-from-assistants.ts:83:3)
```
Supporting `[]` inside `db.insert(myTable).values([])` would be more ergonomically friendly and allow me to skip pulling the array into a variable and checking the length of that array before calling `db.insert`.
This is similar in spirit to #1295. Edit: Looks like this is the same as a previous issue https://github.com/drizzle-team/drizzle-orm/issues/1078
Contributor guide
Assessment
This issue has not been assessed yet.