备份:修复前完整项目快照 2026-04-19

This commit is contained in:
root
2026-04-19 19:15:01 +08:00
parent 5266d7732b
commit d00f41a120
449 changed files with 89577 additions and 23251 deletions
+55
View File
@@ -0,0 +1,55 @@
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
const fs = require('fs');
const dbPath = path.join(__dirname, 'company_finance.db');
const migrationPath = path.join(__dirname, 'migrations', '002_create_purchase_inventory.sql');
console.log('开始执行采购库存数据库迁移...');
console.log('数据库文件:', dbPath);
console.log('迁移脚本:', migrationPath);
const migrationScript = fs.readFileSync(migrationPath, 'utf8');
const db = new sqlite3.Database(dbPath, (err) => {
if (err) {
console.error('数据库连接失败:', err.message);
process.exit(1);
}
console.log('数据库连接成功');
});
db.serialize(() => {
const statements = migrationScript.split(';').filter(s => s.trim());
statements.forEach((stmt, index) => {
if (stmt.trim()) {
console.log(`执行语句 ${index + 1}/${statements.length}`);
db.run(stmt.trim(), (err) => {
if (err) {
if (err.message.includes('duplicate column name') ||
err.message.includes('already exists')) {
console.log(' 跳过(已存在)');
} else {
console.error(' 错误:', err.message);
}
} else {
console.log(' 成功');
}
});
}
});
});
db.all("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name", (err, rows) => {
if (err) {
console.error('查询表失败:', err.message);
} else {
console.log('\n当前数据库表:');
rows.forEach(row => console.log('-', row.name));
}
db.close(() => {
console.log('\n迁移完成!');
});
});