UNPKG

@auth/d1-adapter

Version:

A Cloudflare D1 adapter for Auth.js

58 lines (57 loc) 1.75 kB
export const upSQLStatements = [ `CREATE TABLE IF NOT EXISTS "accounts" ( "id" text NOT NULL, "userId" text NOT NULL DEFAULT NULL, "type" text NOT NULL DEFAULT NULL, "provider" text NOT NULL DEFAULT NULL, "providerAccountId" text NOT NULL DEFAULT NULL, "refresh_token" text DEFAULT NULL, "access_token" text DEFAULT NULL, "expires_at" number DEFAULT NULL, "token_type" text DEFAULT NULL, "scope" text DEFAULT NULL, "id_token" text DEFAULT NULL, "session_state" text DEFAULT NULL, "oauth_token_secret" text DEFAULT NULL, "oauth_token" text DEFAULT NULL, PRIMARY KEY (id) );`, `CREATE TABLE IF NOT EXISTS "sessions" ( "id" text NOT NULL, "sessionToken" text NOT NULL, "userId" text NOT NULL DEFAULT NULL, "expires" datetime NOT NULL DEFAULT NULL, PRIMARY KEY (sessionToken) );`, `CREATE TABLE IF NOT EXISTS "users" ( "id" text NOT NULL DEFAULT '', "name" text DEFAULT NULL, "email" text DEFAULT NULL, "emailVerified" datetime DEFAULT NULL, "image" text DEFAULT NULL, PRIMARY KEY (id) );`, `CREATE TABLE IF NOT EXISTS "verification_tokens" ( "identifier" text NOT NULL, "token" text NOT NULL DEFAULT NULL, "expires" datetime NOT NULL DEFAULT NULL, PRIMARY KEY (token) );`, ]; export const down = [ `DROP TABLE IF EXISTS "accounts";`, `DROP TABLE IF EXISTS "sessions";`, `DROP TABLE IF EXISTS "users";`, `DROP TABLE IF EXISTS "verification_tokens";`, ]; async function up(db) { upSQLStatements.forEach(async (sql) => { try { await db.prepare(sql).run(); } catch (e) { console.error(e.cause?.message, e.message); } }); } export { up };