Skip to content
Snippets Groups Projects
schedule.js 879 B
Newer Older
  • Learn to ignore specific revisions
  • tpgus2603's avatar
    tpgus2603 committed
    // 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,
    
        validate: {
          min: 0,
          max: 671, // 7일 * 24시간 * 4 (15분 단위) - 1
        },
    
      is_fixed: {
        type: DataTypes.BOOLEAN,
        allowNull: 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;