我现在在模型定义中使用以下索引:
{
name: 'unique_partner_id',
unique: true,
fields: ['partnerId'],
where: {
email: {
$ne: null
}
}
}
但是,我想使用迁移而不是同步,因此我尝试将此定义从模型移动到初始迁移文件。
有一种queryInterface.addIndex()
方法,但是,我找不到任何相关文档。
那么,如何使用queryInterface
定义部分索引?
答案 0 :(得分:3)
我一直在寻找如何在模型中执行此操作,您的问题为我解答了。所以现在我要为你回答这个问题!这是我起作用的向上功能:
up: function(queryInterface, Sequelize) {
return queryInterface.addIndex(
'tablename',
['column1', 'column2'],
{
name: 'indexname',
where: {column3: true}
}
);
}
答案 1 :(得分:0)
以下是使用带有运算符的 where
查询语法的示例:
up: (queryInterface, Sequelize) => queryInterface.addIndex(
'column_name',
['new_id'],
{
name: 'index_name',
where: { new_id: { [Sequelize.Op.ne]: null } },
},
)