andywer / andywer/postguard

Support for column aliases (`as`)

未关闭
#30 1 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
TypeScript
星标
179
派生
7
PR 合并指标
30 天内没有已合并 PR

描述

Thanks for writing this library, it's exactly what I was looking for.

Is there a way to support column aliases? Here's what I get right now:

```
✖ Query validation failed in server/models/SomeModel.ts:39:13:

No table in the query's scope has a column "user_token".
Tables in scope: "some_table"

37 | export async function getUserToken(requestId: string): Promise {
38 | const { rows } = await database.query<{user_token: string}>(sql`
> 39 | SELECT details -> 'user_token' AS user_token FROM some_table WHERE
| ^
40 | request_id = ${requestId} AND
41 | details -> 'user_token' IS NOT NULL
42 | ORDER BY timestamp DESC;
```

The workaround that seems to be fine is by using `sql.raw`:

```sql
SELECT ${sql.raw('details -> \'user_token\' AS user_token')} FROM some_table WHERE
request_id = ${requestId} AND
details -> 'user_token' IS NOT NULL
ORDER BY timestamp DESC;
```

Is this the best way to handle it? Thanks!

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。