drizzle-team/drizzle-orm

[BUG]:

Open

#1,826 创建于 2024年1月23日

在 GitHub 查看
 (8 评论) (9 反应) (1 负责人)TypeScript (357 fork)batch import
good first issuehas-primprovementpriorityqb/crud

仓库指标

Star
 (16,414 star)
PR 合并指标
 (平均合并 10天 10小时) (30 天内合并 9 个 PR)

描述

What version of drizzle-orm are you using?

0.29.3

What version of drizzle-kit are you using?

n/a

Describe the Bug

Conditional helper functions such as isNull, isNotNull, exists, notExists cannot be used within a query select, without returning an unknown type.

const results = await db
    .select({
      id: table.id,
      has_title_orm: isNotNull(table.name),
      has_title_sql: sql<boolean>`${table.name} IS NOT NULL`,
    })
    .from(table);

  results[0].has_title_orm; // unknown type
  results[0].has_title_sql; // boolean type

Expected behavior

The sql wrapper used should be able to be typed for these boolean returns. I can imagine that there's a circumstance where you might not want to, given the fact these query helpers can be used in other places?

Environment & setup

Example Stackblitz: https://stackblitz.com/edit/typescript-5bbctn?file=index.ts

贡献者指南