import Database from 'better-sqlite3'; import path from 'path'; const dbPath = path.resolve(process.cwd(), 'devbin.db'); const db = new Database(dbPath); db.exec(` CREATE TABLE IF NOT EXISTS pastes ( id TEXT PRIMARY KEY, content TEXT NOT NULL, language TEXT NOT NULL, filename TEXT NOT NULL, created_at TEXT NOT NULL, expires_at TEXT, expiry_type TEXT DEFAULT 'time', view_count INTEGER DEFAULT 0, allow_discussions INTEGER DEFAULT 0, delete_token TEXT ); CREATE TABLE IF NOT EXISTS comments ( id INTEGER PRIMARY KEY AUTOINCREMENT, paste_id TEXT NOT NULL, author TEXT NOT NULL, content TEXT NOT NULL, created_at TEXT NOT NULL, FOREIGN KEY (paste_id) REFERENCES pastes (id) ON DELETE CASCADE ); `); // Migration for delete_token try { const tableInfo = db.prepare("PRAGMA table_info(pastes)").all(); if (!tableInfo.some(col => col.name === 'delete_token')) { db.exec("ALTER TABLE pastes ADD COLUMN delete_token TEXT;"); } if (!tableInfo.some(col => col.name === 'allow_discussions')) { db.exec("ALTER TABLE pastes ADD COLUMN allow_discussions INTEGER DEFAULT 0;"); } } catch (err) { console.error("Migration failed:", err); } export default db;