removeColumn не удаляет столбец с внешним ключом при использовании migrate: отмена с Sequelize CLI - PullRequest
1 голос
/ 04 апреля 2019

Я использую CLI для своей базы данных.Мне нужно было добавить столбец с внешним ключом (отношение 1: n) к существующей таблице, что прошло хорошо, столбец был добавлен успешно и работал как ожидалось.Проблема начинается, когда я запускаю db:migrate:undo, который вызывает функцию down из миграции.Я использую removeColumn там, но он не будет удалять столбец, просто продолжайте без ошибок.

Пример миграции:

export default  {
  up: (queryInterface, Sequelize) => {
    queryInterface.addColumn('table', 'someId', {
      type: Sequelize.INTEGER,
      references: {
        model: 'someModel',
        key: 'id'
      },
      onUpdate: 'cascade',
      onDelete: 'set null'
    })
  },

  down: (queryInterface, Sequelize) => {
    queryInterface.removeColumn('table', 'someId')
  }
};

Сама миграция работает нормально, простоОтмена не удаляет ни столбец, ни внешний ключ, но происходит без ошибок.Ожидаемое поведение: removeColumn удаляет указанный столбец и связанные внешние ключи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...