Files
professor/db/index.ts
Aodhan Collins f644937604 Initial commit — AI-powered coding tutor (Professor)
Next.js 16, React 19, Monaco editor, Anthropic SDK, multi-provider AI,
Wandbox Python execution, iframe HTML preview, SQLite auth + session persistence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 21:48:34 +00:00

19 lines
576 B
TypeScript

import Database from 'better-sqlite3';
import { drizzle } from 'drizzle-orm/better-sqlite3';
import * as schema from './schema';
type DrizzleDb = ReturnType<typeof drizzle<typeof schema>>;
const globalForDb = globalThis as unknown as { _professorDb?: DrizzleDb };
function createDb(): DrizzleDb {
const sqlite = new Database('professor.db');
sqlite.pragma('journal_mode = WAL');
return drizzle(sqlite, { schema });
}
export const db: DrizzleDb = globalForDb._professorDb ?? createDb();
if (process.env.NODE_ENV !== 'production') {
globalForDb._professorDb = db;
}