web-dev-qa-db-ja.com

sequelize-cliを使用して移行を削除する方法

移行ファイル名を手動で削除しました20171125081136-create-task.js

移行ファイルを削除した後、このコマンドを実行しました

db:migrate:undo:all

このコマンドを実行しているときに、ターミナルでエラーが発生します:ERROR: Unable to find migration: 20171125081136-create-task.js

このエラーのために私は立ち往生していて、存在する他の移行ファイルを元に戻すことができません。

4
Rahul Dagli

あなたの場合、Sequelizeは移行をロールバックする必要があるため、削除された移行ファイルを再度追加する必要があります。お持ちでない場合は、20171125081136-create-task.jsというタイトルの空の移行ファイルを追加できます。ファイルには、成功したpromiseを返すdown関数が必要です。

'use strict';

module.exports = {
  up: function(queryInterface, Sequelize) {
    return Promise.resolve()
  },

  down: function(queryInterface) {
    return Promise.resolve()
  }
};

今後、移行を削除する場合は、次のようにします。

  1. 最新の移行を元に戻します:node_modules/.bin/sequelize db:migrate:undo
  2. 最新の移行ファイルを削除します
7
mcranston18