// models/Schedule.js const { DataTypes } = require('sequelize'); const sequelize = require('../config/sequelize'); const User = require('./user'); const Schedule = sequelize.define('Schedule', { title: { type: DataTypes.STRING, allowNull: false, }, time_idx: { // 일주일을 15분 단위로 나눈 시간 인덱스 type: DataTypes.INTEGER, allowNull: false, validate: { min: 0, max: 671, // 7일 * 24시간 * 4 (15분 단위) - 1 }, }, is_fixed: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false, }, }, { tableName: 'Schedules', timestamps: true, // createdAt과 updatedAt 자동 관리 indexes: [ { unique: true, fields: ['user_id', 'time_idx'], name: 'unique_schedule_per_user_time', }, { fields: ['time_idx'], }, ], }); module.exports = Schedule;