drizzle-team / drizzle-team/drizzle-orm

[FEATURE]: Add generic type support for sql.raw<T>()

Open
#5,028 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### Feature hasn't been suggested before.

- [x] I have verified this feature I'm about to request hasn't been suggested before.

### Describe the enhancement you want to request

Currently, `sql` supports generic type parameters, but `sql.raw()` does not.

For example, I’d like to write something like this:

```ts
const data = await db
.select({
isAllValid: sql.raw(`COUNT(*) = `),
})
.from(table);
```

However, `sql.raw()` doesn’t currently accept a generic type, so I have to use a type assertion instead:

```ts
const data = await db
.select({
isAllValid: sql.raw(`COUNT(*) = `) as SQL,
})
.from(table);
```

It would be great if `sql.raw()` supported generic type parameters directly, similar to `sql`, to improve type safety and developer experience.

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.