修复 MySQL 数据库兼容性问题 - strftime 函数

This commit is contained in:
zhang1106
2025-12-26 15:17:07 +08:00
parent 53f372fcde
commit 2228dcebe2
2 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -31,4 +31,4 @@ if (DB_TYPE === 'mysql') {
});
}
module.exports = { sequelize };
module.exports = { sequelize, DB_TYPE };
+5 -1
View File
@@ -5,6 +5,7 @@ const { v4: uuidv4 } = require('uuid');
const { Ticket, TicketOperationRecord } = require('../models/ticketIndex');
const Device = require('../models/Device');
const User = require('../models/User');
const { DB_TYPE } = require('../db');
// 获取工单统计 (必须定义在 /:ticketId 之前)
router.get('/stats', async (req, res) => {
@@ -50,7 +51,10 @@ router.get('/stats', async (req, res) => {
const monthlyStats = await Ticket.findAll({
where,
attributes: [
[require('sequelize').fn('strftime', '%Y-%m', require('sequelize').col('createdAt')), 'month'],
[DB_TYPE === 'mysql'
? require('sequelize').fn('DATE_FORMAT', require('sequelize').col('createdAt'), '%Y-%m')
: require('sequelize').fn('strftime', '%Y-%m', require('sequelize').col('createdAt')),
'month'],
[require('sequelize').fn('COUNT', '*'), 'count']
],
group: ['month'],