Умзуг вниз метод не работает - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь использовать umzug / sequelize, но вообще не могу запустить метод down.Я следую этому учебнику .Я хочу в основном создавать файлы миграции с помощью методов вверх и вниз.Метод up успешно выполняется, но при вызове down все методы umzug.down () не выполняются вообще.

"use strict";
const Promise = require("bluebird");
const sqlite3 = require("sqlite3");
const path = require('path');

module.exports = {
    up: function() {
        return new Promise(function(resolve, reject) {
        /* up is to commit migrations to the database */

        let db = new sqlite3.Database('./database/db.db');

        db.run(`PRAGMA foreign_keys = ON`);


        db.serialize(function() {
            db.run(`CREATE TABLE users (
            id INTEGER PRIMARY KEY,
            name TEXT
            )`);


        });
        db.close();
        });
    },


    down: function() {
        return new Promise(function(resolve, reject) {
        /* roll back database changes made by this migration */
        console.log('in down')
        let db = new sqlite3.Database("./database/db.db");
        db.serialize(function() {

            db.run(`DROP TABLE users`);
        });
        db.close();
        });
    }
};

Мой файл переноса также выглядит следующим образом:

const path = require("path");
const Umzug = require("umzug");

let umzug = new Umzug({
  logging: function() {
    console.log.apply(null, arguments);
  },
  migrations: {
    path: "./database/migrations",
    pattern: /\.js$/
  },
  upName: "up",
  downName: "down"
});

const cmd = process.argv[2].trim();

// this will run your migrations
if(cmd=='up')
{
    umzug.up().then(console.log("Migrations committed"));
}
else if (cmd=='down'){
    umzug.down().then(console.log("Migrations revereted"));
}

КогдаЯ делаю узел migrate.js до работает.но вниз никогда не исполняется.Я что-то упустил?

1 Ответ

0 голосов
/ 11 октября 2018

В какой-то момент вам нужно будет вызвать метод execute () или reject () для Promise для обеих ваших функций - вверх и вниз.

...