migrate-db.js 694 B

123456789101112131415161718192021222324
  1. const Database = require('better-sqlite3');
  2. const path = require('path');
  3. const dbPath = path.join(__dirname, '../data/certificates.db');
  4. const db = new Database(dbPath);
  5. try {
  6. // 检查字段是否存在
  7. const tableInfo = db.prepare("PRAGMA table_info(certificates)").all();
  8. const hasDnsMode = tableInfo.some(col => col.name === 'dns_mode');
  9. if (!hasDnsMode) {
  10. db.exec(`ALTER TABLE certificates ADD COLUMN dns_mode TEXT;`);
  11. console.log('✓ 已添加 dns_mode 字段');
  12. } else {
  13. console.log('✓ dns_mode 字段已存在');
  14. }
  15. console.log('数据库迁移完成');
  16. } catch (error) {
  17. console.error('迁移失败:', error.message);
  18. } finally {
  19. db.close();
  20. }