94 lines
2.9 KiB
JavaScript
94 lines
2.9 KiB
JavaScript
#!/usr/bin/env node
|
|
const Database = require('better-sqlite3');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
function fixCoverTemplates() {
|
|
console.log('🔧 开始修复封面模板...\n');
|
|
|
|
try {
|
|
let dbPath;
|
|
const possiblePaths = [
|
|
path.join(__dirname, '../userData/data.db'),
|
|
path.join(__dirname, '../data.db'),
|
|
'C:\\aigcpanel-main\\dist-release\\win-unpacked\\data\\data\\database.db',
|
|
path.join(process.env.APPDATA || process.env.HOME, 'zhenqianba/data.db'),
|
|
];
|
|
|
|
for (const tryPath of possiblePaths) {
|
|
if (fs.existsSync(tryPath)) {
|
|
dbPath = tryPath;
|
|
console.log(`✅ 找到数据库: ${dbPath}\n`);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!dbPath) {
|
|
console.error('❌ 未找到数据库文件');
|
|
process.exit(1);
|
|
}
|
|
|
|
const db = new Database(dbPath);
|
|
|
|
const correctSystemIds = [
|
|
'485183be-6eed-4eae-b74a-8591f08b69fa',
|
|
'6404718a-1b1c-4148-9807-ad3c57a53e0c',
|
|
'705fa010-5bf3-4041-b624-0fd364bea5ad',
|
|
'8f17c467-c69c-45b2-8011-94a6c3071d16',
|
|
'1rv2nxmt9td-mkdite60',
|
|
'4ndc1cf5lwo-mkdite61',
|
|
'sjohrqfff7-mkdite61',
|
|
'rxfnphz2eb-mkdite61'
|
|
];
|
|
|
|
console.log('1️⃣ 查询所有模板...');
|
|
const allTemplates = db.prepare(`
|
|
SELECT id, name, is_system FROM cover_templates ORDER BY created_at ASC
|
|
`).all();
|
|
|
|
console.log(` 找到 ${allTemplates.length} 个模板\n`);
|
|
|
|
const toFix = allTemplates.filter(t => t.is_system === 1 && !correctSystemIds.includes(t.id));
|
|
|
|
if (toFix.length === 0) {
|
|
console.log('✅ 数据库已正确,无需修复\n');
|
|
db.close();
|
|
process.exit(0);
|
|
}
|
|
|
|
console.log(`2️⃣ 发现 ${toFix.length} 个错误的系统模板:\n`);
|
|
toFix.forEach(t => {
|
|
console.log(` ⚠️ "${t.name}" (ID: ${t.id})`);
|
|
});
|
|
|
|
console.log('\n3️⃣ 修复中...\n');
|
|
|
|
toFix.forEach(template => {
|
|
db.prepare(`UPDATE cover_templates SET is_system = 0 WHERE id = ?`).run(template.id);
|
|
console.log(` ✅ 已修复: "${template.name}"`);
|
|
});
|
|
|
|
console.log('\n4️⃣ 验证结果...');
|
|
const systemTemplates = db.prepare(`
|
|
SELECT id, name FROM cover_templates WHERE is_system = 1
|
|
`).all();
|
|
|
|
console.log(` 系统模板数量: ${systemTemplates.length}/8`);
|
|
systemTemplates.forEach((t, i) => {
|
|
console.log(` ${i+1}. ${t.name}`);
|
|
});
|
|
|
|
console.log('\n✨ 修复完成!');
|
|
console.log('下一步:重启应用后点击"导出全部"\n');
|
|
|
|
db.close();
|
|
process.exit(0);
|
|
|
|
} catch (error) {
|
|
console.error('❌ 修复失败:', error.message);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
fixCoverTemplates();
|