У меня есть несколько таблиц, одна из которых называется events
table.Когда я запускаю миграцию, все выглядит нормально, но если я отменил последнюю миграцию, моя отмена миграции завершится безо всякой ошибки.Когда я проверяю свою базу данных, моя таблица была переименована в event_backup
, поэтому, когда я пытаюсь выполнить миграцию, у меня возникает ошибка, потому что таблица event
была переименована в event_backup
, а таблица event
не существует.
Последний файл миграции:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface
.addColumn('temp', 'StudyId', {
type: Sequelize.UUID,
references: {
model: 'studies',
key: 'id',
},
onUpdate: 'CASCADE',
onDelete: 'SET NULL',
})
.then(() => {
return queryInterface.addColumn('temp', 'SubjectId', {
type: Sequelize.UUID,
references: {
model: 'subjects',
key: 'id',
},
onUpdate: 'CASCADE',
onDelete: 'SET NULL',
});
})
.then(() => {
return queryInterface.addColumn('events', 'SubjectId', {
type: Sequelize.UUID,
references: {
model: 'subjects',
key: 'id',
},
onUpdate: 'CASCADE',
onDelete: 'SET NULL',
});
})
.then(() => {
return queryInterface.addColumn('events', 'StudyId', {
type: Sequelize.UUID,
references: {
model: 'studies',
key: 'id',
},
onUpdate: 'CASCADE',
onDelete: 'SET NULL',
});
});
},
down: queryInterface => {
return queryInterface
.removeColumn('temp', 'StudyId')
.then(() => {
queryInterface.removeColumn('temp', 'SubjectId');
})
.then(() => {
queryInterface.removeColumn('events', 'SubjectId').then(() => {
queryInterface.removeColumn('events', 'StudyId');
});
});
},
};