2017-11-10 6 views
0

내 데이터베이스에 대한 모델을 만든 다음 마이그레이션을 실행하면이 기존 테이블에 열을 추가하기 위해 마이그레이션을 만든 후에 데이터베이스에 테이블이 성공적으로 만들어졌습니다. 내가 model.findall 쿼리를 실행할 때 그것은 단지 내가 여기 처음 예를 만들어 내 모델 파일입니다 속성을 얻을 수모델이 sequelize에있는 테이블의 모든 속성을 가져 오지 않는 이유

여기
'use strict'; 
module.exports = { 
up: (queryInterface, Sequelize) => { 
return queryInterface.createTable('ActiveUsers', { 
    id: { 
    allowNull: false, 
    autoIncrement: true, 
    primaryKey: true, 
    type: Sequelize.INTEGER 
    }, 
    username: { 
    type: Sequelize.STRING 
    }, 
    name: { 
    type: Sequelize.STRING 
    }, 
    socketId: { 
    type: Sequelize.STRING 
    }, 
    createdAt: { 
    allowNull: false, 
    type: Sequelize.DATE 
    }, 
    updatedAt: { 
    allowNull: false, 
    type: Sequelize.DATE 
    } 
    }); 
}, 
down: (queryInterface, Sequelize) => { 
return queryInterface.dropTable('ActiveUsers'); 
} 
}; 

마이그레이션 파일

'use strict'; 

module.exports = { 
up: (queryInterface, Sequelize) => { 
queryInterface.addColumn(
    'ActiveUsers', 
    'Token', 
    { 
    type: Sequelize.STRING, 
    allowNull: false 
    } 
    ) 

    }, 

    down: (queryInterface, Sequelize) => { 

} 
}; 

여기이 테이블에 열을 추가하는 것입니다 테이블 그림은 단지 모델 파일의 예에 존재하는 특성을 얻을 수 table 입니다

username,name,socketId,updatedAt,createdAt 

가 왜

token,status 

의 가치를 해달라고 여기에 내 코드

우리는 수동으로 파일을 모델링 할 열 필드를 추가해야
activeusers.findAll({raw:true}).then(Users=>{ 

     console.log('online users') 


    }) 

답변

0

입니다. 해당 필드를 가져옵니다.

0

작성한 첫 번째 파일은 모델 파일이 아니며, 마이그레이션 파일입니다. 새 필드를 선택하려면 모델 파일에 필드를 추가해야합니다.

모델 파일은 다음과 같아야합니다

module.exports = function(sequelize, DataTypes) { 
    return sequelize.define('activeUsers', { 
     id: { 
      type: DataTypes.STRING, 
      allowNull: false, 
      primaryKey: true, 
      unique: true 
     }, 
     username: { 
      type: Sequelize.STRING 
     }, 
     name: {    
      type: Sequelize.STRING 
     }, 
     socketId: { 
      type: Sequelize.STRING 
     }, 
     token: { 
      type: Sequelize.STRING 
     }, 
     status: { 
      type: Sequelize.STRING 
     }, 
     createdAt: { 
      allowNull: false, 
      type: Sequelize.DATE 
     }, 
     updatedAt: { 
      allowNull: false, 
      type: Sequelize.DATE 
     } 
    }); 
}; 

당신은 당신의 프로젝트에 모델을 추가하는 방법에 대한 Sequelize docs 더 읽을 수 있습니다.