import Database from 'better-sqlite3'; import path from 'path'; import { fileURLToPath } from 'url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const dbPath = process.env.SANDBOX_DB_PATH || path.resolve(__dirname, '../sandbox/server/sandbox.db'); const db = new Database(dbPath); db.pragma('journal_mode = WAL'); db.pragma('foreign_keys = ON'); db.exec(` CREATE TABLE IF NOT EXISTS users ( id TEXT PRIMARY KEY, username TEXT UNIQUE NOT NULL, email TEXT UNIQUE, password_hash TEXT, discord_id TEXT UNIQUE, global_name TEXT, avatar TEXT, created_at TEXT DEFAULT (datetime('now')), updated_at TEXT DEFAULT (datetime('now')) ); `); const migrations = [ "ALTER TABLE users ADD COLUMN email TEXT", "ALTER TABLE users ADD COLUMN discord_id TEXT UNIQUE", "ALTER TABLE users ADD COLUMN global_name TEXT", "ALTER TABLE users ADD COLUMN avatar TEXT", "ALTER TABLE users ADD COLUMN updated_at TEXT DEFAULT (datetime('now'))", ]; for (const sql of migrations) { try { db.exec(sql); } catch {} } export default db;