programing

속편을 사용하여 JSON 열에 MariaDB 제약 조건 CHECK 추가

randomtip 2022. 11. 21. 22:39
반응형

속편을 사용하여 JSON 열에 MariaDB 제약 조건 CHECK 추가

MariaDB v10.2.11을 사용하고 있는데 v10.2.7 이후 행의 JSON 값을 검증하는 제약 조건이 있는 JSON 열을 사용할 수 있습니다.

Sequelize 마이그레이션을 통해 이 제약을 추가하고 싶은데, 어떻게 해야 할지 모르겠습니다.

MariaDB JSON 문서:

이번 호(https://github.com/sequelize/sequelize/issues/8767))에서 소개한 솔루션을 소개합니다.

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'),
};

부터createTable그리고.addConstraint님은 약속을 반환합니다.여러 작업을 하나의 이행으로 체인으로 할 수 있습니다.

언급URL : https://stackoverflow.com/questions/47729194/add-mariadb-constraint-check-for-json-column-using-sequelize

반응형