addLastLoginField.js 981 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. require('dotenv').config();
  2. const pool = require('../src/config/database');
  3. async function addLastLoginField() {
  4. let connection;
  5. try {
  6. connection = await pool.getConnection();
  7. console.log('开始添加 last_login 字段...\n');
  8. // 检查字段是否已存在
  9. const [columns] = await connection.query(`
  10. SHOW COLUMNS FROM users LIKE 'last_login'
  11. `);
  12. if (columns && columns.length > 0) {
  13. console.log('last_login 字段已存在,无需添加');
  14. return;
  15. }
  16. // 添加 last_login 字段
  17. await connection.query(`
  18. ALTER TABLE users
  19. ADD COLUMN last_login TIMESTAMP NULL AFTER status
  20. `);
  21. console.log('✓ last_login 字段添加成功');
  22. console.log('\n数据库更新完成!');
  23. } catch (error) {
  24. console.error('添加字段失败:', error);
  25. process.exit(1);
  26. } finally {
  27. if (connection) {
  28. await connection.release();
  29. }
  30. process.exit(0);
  31. }
  32. }
  33. addLastLoginField();