Files
yunhaifinance/fix-db-final.js
T

40 lines
1.4 KiB
JavaScript
Raw Normal View History

const db = require('./backend/db-sqlite');
async function fix() {
const fixes = [
// Purchase requests
"ALTER TABLE purchase_requests ADD COLUMN request_date TEXT DEFAULT ''",
// Products
"ALTER TABLE products ADD COLUMN remark TEXT DEFAULT ''",
// Payment plans - make purchase_order_id nullable
// Can't alter NOT NULL in SQLite, so we'll handle it in the route
// Customers - the is_default might be queried from wrong table
// Let's check the actual customers table schema
];
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));
}
}
}
// Check customers table schema
try {
const schema = await db.query("PRAGMA table_info(customers)");
console.log('\nCustomers columns:', schema.rows.map(r => r.name).join(', '));
} catch(e) { console.log('ERR:', e.message); }
// Check payment_plans schema
try {
const schema = await db.query("PRAGMA table_info(payment_plans)");
console.log('Payment plans columns:', schema.rows.map(r => `${r.name}[${r.notnull?'NOT NULL':'NULL'}]`).join(', '));
} catch(e) { console.log('ERR:', e.message); }
process.exit();
}
fix();