const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const AverageCache = sequelize.define('AverageCache', { id: { type: DataTypes.BIGINT.UNSIGNED, primaryKey: true, autoIncrement: true, comment: '캐시 고유값' }, memberId: { type: DataTypes.INTEGER.UNSIGNED, allowNull: false, comment: '회원 ID' }, clubId: { type: DataTypes.INTEGER.UNSIGNED, allowNull: false, comment: '클럽 ID' }, startDate: { type: DataTypes.DATE, allowNull: false, comment: '계산 시작일' }, endDate: { type: DataTypes.DATE, allowNull: false, comment: '계산 종료일' }, average: { type: DataTypes.FLOAT, allowNull: false, comment: '에버리지' }, games: { type: DataTypes.INTEGER.UNSIGNED, allowNull: false, comment: '경기수' }, totalScore: { type: DataTypes.INTEGER, allowNull: false, comment: '총점' }, expiredAt: { type: DataTypes.DATE, allowNull: false, comment: '만료 시각(TTL)' } }, { tableName: 'AverageCache', comment: '회원별 기간별 에버리지 캐시 테이블', timestamps: true, indexes: [ { unique: true, fields: ['memberId', 'clubId', 'startDate', 'endDate'] } ] }); module.exports = AverageCache;