const Database = require('better-sqlite3'); const path = require('path'); require('dotenv').config({ path: path.join(__dirname, '..', '.env') }); const dbPath = path.resolve(__dirname, '..', process.env.DB_PATH || 'db/monitor.sqlite'); const db = new Database(dbPath); db.pragma('journal_mode = WAL'); function ensureColumn(table, column, sql) { const cols = db.prepare(`PRAGMA table_info(${table})`).all().map(c => c.name); if (!cols.includes(column)) { db.exec(`ALTER TABLE ${table} ADD COLUMN ${sql}`); console.log(`+ ${table}.${column}`); } } ensureColumn('products', 'location', 'location TEXT'); ensureColumn('products', 'spec_summary', 'spec_summary TEXT'); ensureColumn('products', 'traffic', 'traffic TEXT'); ensureColumn('products', 'billing_cycle', 'billing_cycle TEXT'); ensureColumn('products', 'coupon_code', 'coupon_code TEXT'); ensureColumn('products', 'annual_price', 'annual_price TEXT'); ensureColumn('products', 'tags', 'tags TEXT'); ensureColumn('products', 'buy_url', 'buy_url TEXT'); ensureColumn('products', 'push_intro', 'push_intro TEXT'); console.log('✅ migration done:', dbPath); db.close();