【发布时间】:2017-07-31 03:50:05
【问题描述】:
在一次迁移中创建表并在其某些列上添加索引的正确方法是什么?
迁移示例:2012341234-create-todo.js
如何在“author_id”和“title”列上创建索引?
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Todos', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
author_id: {
type: Sequelize.INTEGER,
onDelete: 'CASCADE',
references: {
model: 'Authors',
key: 'id',
as: 'authorId'
}
},
title: {
type: Sequelize.STRING
},
content: {
type: Sequelize.TEXT
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Todos');
}
};
Sequelize 文档表明将像这样添加索引:
queryInterface.addIndex('Todos', ['author_id', 'title']);
这些方法可以链接吗? “上”和“下”只需要返回一个承诺吗?我在文档中没有看到任何关于它的内容。
【问题讨论】:
标签: indexing migration sequelize.js