diff --git a/add_is_on_sale_column.js b/add_is_on_sale_column.js new file mode 100644 index 0000000..254001f --- /dev/null +++ b/add_is_on_sale_column.js @@ -0,0 +1,33 @@ +const mysql = require('mysql2/promise') +require('dotenv').config() + +async function main() { + const config = { + host: process.env.DB_HOST || 'localhost', + port: parseInt(process.env.DB_PORT || '3306'), + user: process.env.DB_USER || 'root', + password: process.env.DB_PASSWORD || '', + database: process.env.DB_NAME || 'miniprogram' + } + + const connection = await mysql.createConnection(config) + + try { + const [columns] = await connection.execute("DESCRIBE goods") + const columnNames = columns.map(col => col.Field) + + console.log('当前 goods 表字段:', columnNames) + + if (!columnNames.includes('is_on_sale')) { + console.log('缺少 is_on_sale 字段,正在添加...') + await connection.execute('ALTER TABLE goods ADD COLUMN is_on_sale tinyint(1) DEFAULT 1 COMMENT "是否上架 1-上架 0-下架"') + console.log('成功添加 is_on_sale 字段') + } else { + console.log('is_on_sale 字段已存在') + } + } finally { + await connection.end() + } +} + +main().catch(console.error) \ No newline at end of file diff --git a/controllers/stats.js b/controllers/stats.js index 2515cc9..660f2c5 100644 --- a/controllers/stats.js +++ b/controllers/stats.js @@ -17,7 +17,7 @@ async function getTodayStats(ctx) { const stockThreshold = parseInt(process.env.STOCK_WARN_THRESHOLD) || 10 const lowStockResult = await query( - 'SELECT COUNT(*) as lowStockCount FROM goods WHERE stock < ? AND status != 0', + 'SELECT COUNT(*) as lowStockCount FROM goods WHERE stock < ? AND status = 1', [stockThreshold] )