备份:修复前完整项目快照 2026-04-19
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
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();
|
||||
Reference in New Issue
Block a user