2017-12-09 15 views
1

MariaDB v10.2.11을 사용하고 있고 v10.2.7부터 행의 JSON 값을 확인하는 제약 조건이있는 JSON 열을 사용할 수 있습니다.sequelize를 사용하여 JSON 열의 MariaDB 제약 조건 확인 추가

Sequelize 마이그레이션을 통해 해당 제약 조건을 추가하고 싶지만 어떻게해야할지 모르겠다.

MariaDB JSON 문서 :

답변

2

가 나는이 문제 (https://github.com/sequelize/sequelize/issues/8767) (그것의 광산)에서 제공되는 솔루션을 공유하고있다. createTableaddConstraint 이후

module.exports = { 
    up: (queryInterface, Sequelize) => 
    queryInterface 
     .createTable('tableName', { 
     // id, other columns 
     column1: Sequelize.JSON, 
     // more columns 
     }) 
     .then(() => 
     queryInterface.addConstraint('tableName', ['column1'], { 
      type: 'check', 
      where: { 
      column1: Sequelize.literal('JSON_VALID(column1)'), 
      }, 
      name: 'check_column1_has_valid_json', 
     }), 
    ), 
    down: (queryInterface) => queryInterface.dropTable('tableName'), 
}; 

이 약속을 반환, 그것은 하나의 마이그레이션 체인 여러 작업을 가능 :)