const pool = require('../db'); async function run() { console.log('Starting compliance_item_history migration...'); try { await pool.query(` CREATE TABLE IF NOT EXISTS compliance_item_history ( id SERIAL PRIMARY KEY, hostname TEXT NOT NULL, field_name TEXT NOT NULL CHECK (field_name IN ('resolution_date', 'remediation_plan')), old_value TEXT, new_value TEXT, change_reason TEXT, changed_by TEXT NOT NULL, changed_at TIMESTAMPTZ DEFAULT NOW() ) `); console.log('✓ compliance_item_history table created (or already exists)'); await pool.query(` CREATE INDEX IF NOT EXISTS idx_compliance_history_hostname_field ON compliance_item_history(hostname, field_name) `); console.log('✓ hostname/field_name index created'); await pool.query(` CREATE INDEX IF NOT EXISTS idx_compliance_history_changed_at ON compliance_item_history(changed_at) `); console.log('✓ changed_at index created'); console.log('Migration complete.'); } catch (err) { console.error('Migration failed:', err.message); throw err; } } module.exports = { run }; // Self-execute when run directly if (require.main === module) { run().then(() => process.exit(0)).catch(() => process.exit(1)); }