Cannot generate Typebox schema from Drizzle Enum
i just trying to do the same thing as show in the docs here: https://orm.drizzle.team/docs/typebox#select-schema
so i just copy and paste this from the docs:
import { pgEnum } from "drizzle-orm/pg-core";
import { createInsertSchema } from 'drizzle-typebox'
const roles = pgEnum('roles', ['admin', 'basic']);
const rolesSchema = createSelectSchema(roles);
However, i got this error at createSelectSchema(roles)
:
Argument of type 'PgEnum<["admin", "basic"]>' is not assignable to parameter of type 'Table<TableConfig<Column<any, object, object>>>'.
Type 'PgEnum<["admin", "basic"]>' is missing the following properties from type 'Table<TableConfig<Column<any, object, object>>>': _, $inferSelect, $inferInsert, getSQLts(2345)
version:
"drizzle-orm": "^0.38.2",
"drizzle-typebox": "^0.2.0",Drizzle ORM - drizzle-typebox
Drizzle ORM is a lightweight and performant TypeScript ORM with developer experience in mind.
6 Replies
@The Rumbling Can I see your tsconfig.json file?
here is my
tsconfig.json

Hmmm, can you try setting the target to ESNext?
Thx! i think its fixed for now!

We use ESNext internally in repos, so we had no issues there. Not sure if there's much we can do for it work in earlier ES versions, but glad this at least worked
I'm encountering a type compatibility issue with Drizzle ORM and TypeBox. When using
createSchemaFactory
from drizzle-typebox with PostgreSQL tables, I'm getting type errors when trying to create schemas. But in Runtime it Works without any Problems, i also Tried to edit my tsconfig to:
Versions:
The error suggests that the PostgreSQL-specific column types (PgColumn) from my table definition aren't compatible with the generic Column type expected by the schema factory functions:
Has anyone encountered similar type mismatches when using PostgreSQL-specific types with the schema factory? Is there a proper way to handle this without type assertions?
My Code:
Code: