You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
|
3 months ago
|
// 简化版修复脚本:将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();
|