drizzle-team / drizzle-team/drizzle-orm

[FEATURE]: Allow passing empty arrays to `.values()` during insert

Open
#1,828 6 comments 26 reactions 0 assignees View on GitHub
improvement qb/crud
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.