Skip to content
The Auth.js project is now part of Better Auth.

lib/mysql

DefaultMySqlAccountsTable

type DefaultMySqlAccountsTable = MySqlTableWithColumns<{  columns: {  access_token: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  driverParam: string | number;  notNull: boolean;  }>;  expires_at: DefaultMyqlColumn<{  columnType: "MySqlInt";  data: number;  dataType: "number";  notNull: boolean;  }>;  id_token: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  provider: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  providerAccountId: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  refresh_token: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  scope: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  session_state: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  token_type: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  type: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  userId: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  };  dialect: "mysql";  name: string;  schema: string | undefined; }>;

DefaultMySqlAuthenticatorTable

type DefaultMySqlAuthenticatorTable = MySqlTableWithColumns<{  columns: {  counter: DefaultMyqlColumn<{  columnType: "MySqlInt";  data: number;  dataType: "number";  notNull: true;  }>;  credentialBackedUp: DefaultMyqlColumn<{  columnType: "MySqlBoolean";  data: boolean;  dataType: "boolean";  notNull: true;  }>;  credentialDeviceType: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  credentialID: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  credentialPublicKey: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  providerAccountId: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  transports: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: false;  }>;  userId: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  };  dialect: "mysql";  name: string;  schema: string | undefined; }>;

DefaultMySqlSchema

type DefaultMySqlSchema = {  accountsTable: DefaultMySqlAccountsTable;  authenticatorsTable: DefaultMySqlAuthenticatorTable;  sessionsTable: DefaultMySqlSessionsTable;  usersTable: DefaultMySqlUsersTable;  verificationTokensTable: DefaultMySqlVerificationTokenTable; };

Type declaration

accountsTable

accountsTable: DefaultMySqlAccountsTable;

authenticatorsTable?

optional authenticatorsTable: DefaultMySqlAuthenticatorTable;

sessionsTable?

optional sessionsTable: DefaultMySqlSessionsTable;

usersTable

usersTable: DefaultMySqlUsersTable;

verificationTokensTable?

optional verificationTokensTable: DefaultMySqlVerificationTokenTable;

DefaultMySqlSessionsTable

type DefaultMySqlSessionsTable = MySqlTableWithColumns<{  columns: {  expires: DefaultMyqlColumn<{  columnType: "MySqlTimestamp";  data: Date;  dataType: "date";  notNull: true;  }>;  sessionToken: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  isPrimaryKey: true;  notNull: true;  }>;  userId: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  };  dialect: "mysql";  name: string;  schema: string | undefined; }>;

DefaultMySqlUsersTable

type DefaultMySqlUsersTable = MySqlTableWithColumns<{  columns: {  email: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  emailVerified: DefaultMyqlColumn<{  columnType: "MySqlTimestamp";  data: Date;  dataType: "date";  notNull: boolean;  }>;  id: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  isPrimaryKey: true;  notNull: true;  }>;  image: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  name: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: boolean;  }>;  };  dialect: "mysql";  name: string;  schema: string | undefined; }>;

DefaultMySqlVerificationTokenTable

type DefaultMySqlVerificationTokenTable = MySqlTableWithColumns<{  columns: {  expires: DefaultMyqlColumn<{  columnType: "MySqlTimestamp";  data: Date;  dataType: "date";  notNull: true;  }>;  identifier: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  token: DefaultMyqlColumn<{  columnType: "MySqlVarChar" | "MySqlText";  data: string;  dataType: "string";  notNull: true;  }>;  };  dialect: "mysql";  name: string;  schema: string | undefined; }>;

defineTables()

function defineTables(schema): Required<DefaultMySqlSchema>

Parameters

ParameterType
schemaPartial<DefaultMySqlSchema>

Returns

Required<DefaultMySqlSchema>


MySqlDrizzleAdapter()

function MySqlDrizzleAdapter(client, schema?): Adapter

Parameters

ParameterType
clientMySqlDatabase<MySqlQueryResultHKT, PreparedQueryHKTBase, any>
schema?DefaultMySqlSchema

Returns

Adapter

Auth.js © Better Auth Inc. - 2025