const db = require('./backend/db-sqlite'); async function fix() { const fixes = [ // Purchase requests "ALTER TABLE purchase_requests ADD COLUMN applicant TEXT DEFAULT ''", "ALTER TABLE purchase_requests ADD COLUMN department TEXT DEFAULT ''", "ALTER TABLE purchase_requests ADD COLUMN total_amount REAL DEFAULT 0", "ALTER TABLE purchase_requests ADD COLUMN items TEXT DEFAULT '[]'", // Purchase orders "ALTER TABLE purchase_orders ADD COLUMN quotation_url TEXT DEFAULT ''", "ALTER TABLE purchase_orders ADD COLUMN quotation_no TEXT DEFAULT ''", "ALTER TABLE purchase_orders ADD COLUMN delivery_date TEXT DEFAULT ''", "ALTER TABLE purchase_orders ADD COLUMN payment_terms TEXT DEFAULT ''", // Payment plans "ALTER TABLE payment_plans ADD COLUMN planned_percentage REAL DEFAULT 0", "ALTER TABLE payment_plans ADD COLUMN actual_amount REAL DEFAULT 0", "ALTER TABLE payment_plans ADD COLUMN payment_method TEXT DEFAULT ''", // Products "ALTER TABLE products ADD COLUMN source TEXT DEFAULT ''", "ALTER TABLE products ADD COLUMN supplier TEXT DEFAULT ''", "ALTER TABLE products ADD COLUMN location TEXT DEFAULT ''", // Customers - check if is_default exists in a view "ALTER TABLE customers ADD COLUMN is_default INTEGER DEFAULT 0", // Reimbursements "ALTER TABLE reimbursements ADD COLUMN items TEXT DEFAULT '[]'", "ALTER TABLE reimbursements ADD COLUMN total_amount REAL DEFAULT 0", // Budget projects "ALTER TABLE budget_projects ADD COLUMN created_by INTEGER", // Projects - add POST support columns "ALTER TABLE projects ADD COLUMN contract_no TEXT DEFAULT ''", "ALTER TABLE projects ADD COLUMN project_type TEXT DEFAULT ''", "ALTER TABLE projects ADD COLUMN location TEXT DEFAULT ''", ]; for (const sql of fixes) { try { await db.query(sql); console.log('OK:', sql.substring(0, 80)); } catch(e) { const msg = e.message || ''; if (msg.includes('duplicate') || msg.includes('already exists')) { console.log('SKIP:', sql.substring(0, 80)); } else { console.log('ERR:', msg.substring(0, 100)); } } } process.exit(); } fix();