// 简化版修复脚本:将reviewed状态商品更新为published const { Sequelize } = require('sequelize'); require('dotenv').config(); // 使用与update-product-review-status.js相同的数据库连接配置 const sequelize = new Sequelize( process.env.DB_DATABASE || 'wechat_app', process.env.DB_USER || 'root', process.env.DB_PASSWORD === undefined ? null : process.env.DB_PASSWORD, { host: process.env.DB_HOST || 'localhost', port: process.env.DB_PORT || 3306, dialect: 'mysql', pool: { max: 10, min: 0, acquire: 30000, idle: 10000 }, timezone: '+08:00' // 设置时区为UTC+8 } ); async function fix() { console.log('===== 开始修复重复货源问题 ====='); try { // 连接数据库 await sequelize.authenticate(); console.log('数据库连接成功'); // 直接执行SQL更新reviewed状态为published const [result] = await sequelize.query( 'UPDATE products SET status = "published", updated_at = NOW() WHERE status = "reviewed"' ); console.log(`成功更新了 ${result.affectedRows} 个商品`); console.log('===== 修复完成 ====='); console.log('1. 数据库中的商品状态已更新'); console.log('2. 请在小程序中下拉刷新页面查看效果'); console.log('3. 已解决手动更新数据库状态后重复货源的问题'); } catch (error) { console.error('修复失败:', error.message); console.error('请检查数据库连接和权限后重试'); } finally { await sequelize.close(); } } fix();