Files
yunhaifinance/backend/restore-products.js
T

55 lines
1.5 KiB
JavaScript

const sqlite3 = require('sqlite3').verbose();
// 连接数据库
const db = new sqlite3.Database('company_finance.db');
console.log('检查备份数据...');
// 检查备份表中的数据量
db.get('SELECT COUNT(*) as count FROM products_backup', (err, row) => {
if (err) {
console.error('错误:', err);
db.close();
return;
}
console.log(`备份表中有 ${row.count} 条商品数据`);
if (row.count > 0) {
console.log('开始恢复数据...');
// 从备份表恢复数据到主表
db.run(`
INSERT INTO products (
product_id, product_name, category_id, parent_category_id,
specifications, unit, price, stock, min_stock,
supplier_id, description, created_at, updated_at
) SELECT
product_id, product_name, category_id, parent_category_id,
specifications, unit, price, stock, min_stock,
supplier_id, description, created_at, updated_at
FROM products_backup
`, function(err) {
if (err) {
console.error('恢复数据失败:', err);
db.close();
return;
}
console.log(`成功恢复 ${this.changes} 条商品数据`);
// 验证恢复结果
db.get('SELECT COUNT(*) as count FROM products', (err, row) => {
if (err) {
console.error('验证失败:', err);
} else {
console.log(`恢复后商品表中有 ${row.count} 条数据`);
}
db.close();
});
});
} else {
console.log('备份表为空,无法恢复数据');
db.close();
}
});