Files
yunhaifinance/fix-last-push.js
T

54 lines
1.9 KiB
JavaScript
Raw Normal View History

const db = require('./backend/db-sqlite');
async function fix() {
const fixes = [
// logistics_company_contacts table
`CREATE TABLE IF NOT EXISTS logistics_company_contacts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
logistics_company_id INTEGER,
name TEXT DEFAULT '',
phone TEXT DEFAULT '',
email TEXT DEFAULT '',
position TEXT DEFAULT '',
is_primary INTEGER DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)`,
// payment_plans - add code column
"ALTER TABLE payment_plans ADD COLUMN code TEXT DEFAULT ''",
// return_records - add return_date
"ALTER TABLE return_records ADD COLUMN return_date TEXT DEFAULT ''",
// projects - add more missing columns
"ALTER TABLE projects ADD COLUMN type TEXT DEFAULT ''",
"ALTER TABLE projects ADD COLUMN country TEXT DEFAULT ''",
"ALTER TABLE projects ADD COLUMN city TEXT DEFAULT ''",
"ALTER TABLE projects ADD COLUMN remark TEXT DEFAULT ''",
// exchange_rates - add more columns
"ALTER TABLE exchange_rates ADD COLUMN name TEXT DEFAULT ''",
"ALTER TABLE exchange_rates ADD COLUMN remark TEXT DEFAULT ''",
// budget_projects - add more columns
"ALTER TABLE budget_projects ADD COLUMN remark TEXT DEFAULT ''",
"ALTER TABLE budget_projects ADD COLUMN project_id INTEGER DEFAULT 0",
"ALTER TABLE budget_projects ADD COLUMN code TEXT DEFAULT ''",
];
for (const sql of fixes) {
try {
await db.query(sql);
console.log('OK:', sql.substring(0, 70));
} catch(e) {
const msg = e.message || '';
if (msg.includes('duplicate') || msg.includes('already exists')) {
console.log('SKIP:', sql.substring(0, 70));
} else {
console.log('ERR:', msg.substring(0, 100));
}
}
}
console.log('\nDone!');
process.exit();
}
fix();