Better AuthBA
Better Auth10mo ago
Jan

TwoFactor plugins requires id column in schema?

I'm getting the following error message, when calling authClient.twoFactor.enable:

# SERVER_ERROR:  [BetterAuthError: The field "id" does not exist in the "twoFactor" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".] {
  cause: undefined
}


AFAIK, the twoFactor table doesn't need an ID column and the documentation doesn't mention one.

Config:
database: drizzleAdapter(db, {
        provider: 'pg', // or "mysql", "sqlite"
        schema: {
            user: users,
            session: sessions,
            account: accounts,
            verification: verifications,
            twoFactor: twoFactors
        }
    }),

export const twoFactors = pgTable('twoFactor', {
    userId: text()
        .primaryKey()
        .references(() => users.id, { onDelete: 'cascade' }),
    secret: text().notNull(),
    backupCodes: text().notNull()
});
Solution
will be updated
Was this page helpful?