2016-06-06 2 views
1

으로 변경하십시오. 해당 열의 데이터를 유지하면서 올바른 유형의 열을 ENUM으로 변경하는 적절한 방법을 찾지 못하는 것 같습니다. Sequelize : 열 유형을 ENUM

나는 또한 ENUM 유형으로 새 열을 만든 다음 열 사이에 데이터를 복사하려고했습니다

// migrations/20160606170538-change-column.js 

'use strict'; 

module.exports = { 
    up: function (queryInterface, Sequelize) { 
    return queryInterface.addColumn('time', 'newcolumn', { 
     allowNull: true, 
     type: Sequelize.ENUM('1-day', '7-day', '1-month', '3-month', '6-month', '1-year') 
    }).then(function() { 
     return queryInterface.sequelize.query("UPDATE time SET newcolum = oldcolumn"); 
    }); 
    }, 

    down: function (queryInterface, Sequelize) { 
    } 
}; 

하지만 이전에 다음과 같은 오류를 반환 :

error: column "newcolumn" is of type enum_time_newcolumn but expression is of type character varying]

답변

3

포스트 그레스 oldcolumn의 문자열 데이터가 열거 형 값에 맞는지 알지 못함 - 전송 시도

return queryInterface.sequelize.query("UPDATE time SET newcolum = oldcolumn::enum_time_newcolumn"); 
관련 문제