Skip to content
Snippets Groups Projects
index.js 955 B
Newer Older
tpgus2603's avatar
tpgus2603 committed
// models/User.js
module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    id: {
      type: DataTypes.BIGINT,
      primaryKey: true,
      autoIncrement: true,
    },
    name: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    email: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
      validate: {
        isEmail: true, // 이메일 형식 검증
      },
    },
    invite_code: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4, // 자동으로 UUID 생성
      allowNull: false,
      unique: true,
    },
    created_at: {
      type: DataTypes.DATE,
      defaultValue: DataTypes.NOW,
    },
    // updated_at 추가 (필요 시)
    updated_at: {
      type: DataTypes.DATE,
      defaultValue: DataTypes.NOW,
    },
  }, {
    tableName: 'Users',
    timestamps: false, // created_at과 updated_at을 수동으로 관리
tpgus2603's avatar
tpgus2603 committed
  });

tpgus2603's avatar
tpgus2603 committed
  return User;
};