cleanDatabase.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. require('dotenv').config();
  2. const pool = require('../src/config/database');
  3. async function cleanDatabase() {
  4. const connection = await pool.getConnection();
  5. try {
  6. console.log('⚠️ 警告:此操作将清空所有数据(保留管理员账号)\n');
  7. // 清空表(保留结构)
  8. await connection.query('SET FOREIGN_KEY_CHECKS = 0');
  9. await connection.query('DELETE FROM operation_logs');
  10. console.log('✅ 清空操作日志表');
  11. await connection.query('DELETE FROM attachments');
  12. console.log('✅ 清空附件表');
  13. await connection.query('DELETE FROM approvals');
  14. console.log('✅ 清空审批表');
  15. await connection.query('DELETE FROM pool_claim_records');
  16. console.log('✅ 清空公海池领取记录表');
  17. await connection.query('DELETE FROM followup_records');
  18. console.log('✅ 清空跟进记录表');
  19. await connection.query('DELETE FROM customers');
  20. console.log('✅ 清空客户表');
  21. await connection.query("DELETE FROM users WHERE username != 'admin'");
  22. console.log('✅ 清空用户表(保留管理员)');
  23. await connection.query('SET FOREIGN_KEY_CHECKS = 1');
  24. console.log('\n🎉 数据库清理完成!\n');
  25. console.log('管理员账号已保留: admin / admin123\n');
  26. } catch (error) {
  27. console.error('清理数据库失败:', error);
  28. process.exit(1);
  29. } finally {
  30. connection.release();
  31. await pool.end();
  32. }
  33. }
  34. cleanDatabase();