drizzle-team / drizzle-team/drizzle-orm
[BUG]: Prisma mysql integration returns wrong keys with sql`` operator
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### What version of `drizzle-orm` are you using?
0.33.0
### What version of `drizzle-kit` are you using?
0.24.2
### Describe the Bug
I'm getting weird keys for the result objects
For example :
```typescript
const counted = await tx
.select({
count: count(),
})
.from(TableX)
.where(
eq(TableX.id, id),
)
```
Outputs
```typescript
[{ 'count(*)': 1n }]
```
For example :
```typescript
const counted = await tx
.select({
countStuff: sql`count(*) = ${SomeNumber}`,
})
.from(TableX)
.where(
eq(TableX.id, id),
)
```
Outputs
```typescript
[{ 'count(*) = ?': 1n }]
```
The same happens with `count()` helper function
### Expected behavior
1. To use the key I'm specifying in the query selection part
2. To Return a Number not a BigInt
### Environment & setup
This is my prisma and drizzle configuration
```typescript
/* eslint-disable @typescript-eslint/no-empty-object-type */
import type { Prisma } from "@prisma/client";
import { PrismaClient } from "@prisma/client";
import type {
DynamicClientExtensionThis,
InternalArgs,
} from "@prisma/client/runtime/library";
import type { PrismaMySqlDatabase } from "drizzle-orm/prisma/mysql";
import { drizzle } from "drizzle-orm/prisma/mysql";
export * from "@prisma/client";
const globalForPrisma = globalThis as unknown as {
prisma: DynamicClientExtensionThis<
Prisma.TypeMap<
InternalArgs & {
result: {};
model: {};
query: {};
client: {
$drizzle: () => PrismaMySqlDatabase;
};
},
Prisma.PrismaClientOptions
>,
Prisma.TypeMapCb,
{
result: {};
model: {};
query: {};
client: {
$drizzle: () => PrismaMySqlDatabase;
};
},
{}
>;
};
export const prisma =
globalForPrisma.prisma ||
new PrismaClient({
log: process.env.NODE_ENV === "development" ? ["error"] : ["error"],
}).$extends(drizzle());
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
export * from "drizzle-orm/sql";
export { getTableColumns } from "drizzle-orm";
export { alias } from "drizzle-orm/mysql-core";
```
Contributor guide
Assessment
This issue has not been assessed yet.