© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
Drizzle TeamDT
Drizzle Team•2y ago•
1 reply
Abhinav1217

Trouble assigning enum as input for sqlite database.

I have an enum in typescript

export enum InsuranceStatus {
    INSURANCE_NOT_REQUIRED = "insurance_not_required",
    INSURANCE_PENDING_APPROVAL = "insurance_pending_approval",
    INSURANCE_APPROVED = "insurance_approved",
}
export enum InsuranceStatus {
    INSURANCE_NOT_REQUIRED = "insurance_not_required",
    INSURANCE_PENDING_APPROVAL = "insurance_pending_approval",
    INSURANCE_APPROVED = "insurance_approved",
}


and I am trying to use it for my sqlite DB
export const packageEntity = sqliteTable("packages", {
    id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
    containerId: integer("container_id")
        .notNull()
        .references((): SQLiteColumn => shippingContainerEntity.id),
    recipientId: integer("recipient_id").notNull().default(0),
    weight: integer("weight").notNull().default(0),
    value: integer("value").notNull().default(0),
    insuranceStatus: text(
        "insurance_status" /* , {
        enum: Object.keys(InsuranceStatus),
    } */,
    )
        .notNull()
        .$type<InsuranceStatus>()
        .notNull()
        .default(InsuranceStatus.INSURANCE_NOT_REQUIRED),
});
export const packageEntity = sqliteTable("packages", {
    id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
    containerId: integer("container_id")
        .notNull()
        .references((): SQLiteColumn => shippingContainerEntity.id),
    recipientId: integer("recipient_id").notNull().default(0),
    weight: integer("weight").notNull().default(0),
    value: integer("value").notNull().default(0),
    insuranceStatus: text(
        "insurance_status" /* , {
        enum: Object.keys(InsuranceStatus),
    } */,
    )
        .notNull()
        .$type<InsuranceStatus>()
        .notNull()
        .default(InsuranceStatus.INSURANCE_NOT_REQUIRED),
});


However as you can see I had to comment it because I am getting a weird type error.
Type 'string[]' is not assignable to type 'readonly [string, ...string[]] | [string, ...string[]] | undefined'.
  Type 'string[]' is not assignable to type '[string, ...string[]]'.
    Source provides no match for required element at position 0 in target.ts(2322)
Type 'string[]' is not assignable to type 'readonly [string, ...string[]] | [string, ...string[]] | undefined'.
  Type 'string[]' is not assignable to type '[string, ...string[]]'.
    Source provides no match for required element at position 0 in target.ts(2322)

I have tried directly using the enum name
 enum: InsuranceStatus
 enum: InsuranceStatus
I have tried declaring a string[] ,
const enumInsuranceStatus: string[] = Object.keys(InsuranceStatus);
const enumInsuranceStatus: string[] = Object.keys(InsuranceStatus);
, and using it
enum: enumInsuranceStatus
enum: enumInsuranceStatus
and few other variations.

Please help.

I am using Bun:Sqlite as driver for drizzle. This is a newly scaffolded project so all packages are upgraded to latest.
Drizzle TeamJoin
The official Discord for all Drizzle related projects, such as Drizzle ORM, Drizzle Kit, Drizzle Studio and more!
11,879Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Enum as primary key for roles (sqlite)
Drizzle TeamDTDrizzle Team / help
2y ago
Invalid Input Value for Enum
Drizzle TeamDTDrizzle Team / help
3y ago
Invalid input value for enum
Drizzle TeamDTDrizzle Team / help
3y ago
trouble creating Enum
Drizzle TeamDTDrizzle Team / help
2y ago