我现在在模型定义中使用以下索引:

{
  name: 'unique_partner_id',
  unique: true,
  fields: ['partnerId'],
  where: {
    email: {
      $ne: null
    }
  }
}

但是,我想使用迁移而不是同步,因此我正在尝试将此定义从模型移动到初始迁移文件。

有一个queryInterface.addIndex()方法,但是我找不到任何文档。

因此,如何使用queryInterface定义部分索引?

最佳答案

我一直在寻找如何在模型中执行此操作,而您的问题为我解答了这一问题。所以现在我将为您解答!这是对我有用的up函数:

up: function(queryInterface, Sequelize) {
  return queryInterface.addIndex(
    'tablename',
    ['column1', 'column2'],
    {
      name: 'indexname',
      where: {column3: true}
    }
  );
}

10-01 04:26