Этот вопрос похож на этот здесь: Как добавить столбец в дальнейшем существующей модели .
Но в любом случае миграция - это просто набор инструкций с использованием queryInterface методов, так что, например, метод по умолчанию, который используется при создании миграции с использованием cli, - это метод (createTable).
Если вы хотите каким-либо образом изменить таблицу, вам нужно использовать другой метод, например( renameColumn : для переименования столбца, changeColumn : для изменения типа данных столбца, ..etc)
Например, если я хочу переименовать столбец с именем name
до firstName
в уже существующей (перенесенной) Users
таблице. Я бы создал новый файл миграции, чтобы изменить его, и это выглядело бы так:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.renameColumn('Users', 'name', 'firstName', {
type: Sequelize.STRING,
})
},
down: (queryInterface, Sequelize) => {
return queryInterface.renameColumn('Users', 'firstName', 'name', {
type: Sequelize.STRING,
})
}
};
И это в примере добавление нового столбца (lastName) к той же таблице Users
:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.addColumn('Users', 'lastName', {
type: Sequelize.STRING
})
},
down: (queryInterface, Sequelize) => {
return queryInterface.removeColumn("Users", "lastName")
}
};