Better AuthBA
Better Auth8mo ago
3 replies
Winston

In MYSQL mode, wrong column types are generated

Auth object:
export const auth = betterAuth({
    database: drizzleAdapter(db, {
        provider: "mysql",
        usePlural: true,
    }),
    secret: env.BETTER_AUTH_SECRET,
    emailAndPassword: {
        enabled: true,
    },
    plugins: [bearer()],
    trustedOrigins: [env.CLIENT],
});


Generated file is:

export const users = mysqlTable("users", {
    id: varchar("id", { length: 36 }).primaryKey(),
    ...
});

export const accounts = mysqlTable("accounts", {
        ...
    userId: text("user_id", )
        .notNull()
        .references(() => users.id, { onDelete: "cascade" }),
});


Get the error:

Error: Referencing column 'user_id' and referenced column 'id' in foreign key constraint 'accounts_user_id_users_id_fk' are incompatible.


Need to manually edit myself to:

export const sessions = mysqlTable("sessions", {
        ...
    userId: varchar("user_id", { length: 36 })
        .notNull()
        .references(() => users.id, { onDelete: "cascade" }),
});


Using TiDB free tier
Was this page helpful?