How to define unique index on multiple columns in sequelize

前端 未结 6 2123
半阙折子戏
半阙折子戏 2020-12-13 06:50

How do I define a unique index on a combination of columns in sequelize. For example I want to add a unique index on user_id, count and name.

var Tag = sequ         


        
6条回答
  •  一整个雨季
    2020-12-13 06:56

    I have same issue to applied composite unique constraint to multiple columns but nothing work with Mysql, Sequelize(4.10.2) and NodeJs 8.9.4 finally I fixed through following code.

    queryInterface.createTable('actions', {
      id: {
          type: Sequelize.INTEGER,
          primaryKey: true,
          autoIncrement: true
      },
      system_id: {
          type: Sequelize.STRING,
          unique: 'actions_unique',
      },
      rule_id: {
          type: Sequelize.STRING,
          unique: 'actions_unique',
      },
      plan_id: {
          type: Sequelize.INTEGER,
          unique: 'actions_unique',
      }
    }, {
      uniqueKeys: {
          actions_unique: {
              fields: ['system_id', 'rule_id', 'plan_id']
          }
      }
    });
    

提交回复
热议问题