node.js - 在 Sequelize 迁移中定义部分索引?

标签 node.js database migration sequelize.js

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

{
  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: {[Sequelize.Op.ne]: null}}
    }
  );
}

关于node.js - 在 Sequelize 迁移中定义部分索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442207/

相关文章:

node.js - npm/咕噜声 : is it possible to install grunt without npm?

Django 迁移 : run_before vs dependencies

python - 为所有应用程序运行南迁移

javascript - 从nodejs发送2个流到FFmpeg

javascript - 需要与 Node 中的文件同名的文件夹

database - 复制 PostgreSQL 数据以进行分析

c# - 注册表值未存储在数据库中

php - 迁移类别/部分到 joomla 2.5

html - 使用Vue Javascript将JSON数据提取到html文件中的表中时出现问题

php - Doctrine 1.2 - 如何连接 2 个数据库