在环回3中需要时如何自动迁移?

时间:2018-07-31 04:45:59

标签: node.js loopbackjs

我在回送应用程序中的/ bin下创建了一个自动迁移脚本,并将其路径添加到package.json文件中,这样我就可以运行该脚本以随时从终端上进行自动迁移。

我还有一个启动脚本“ createUsers.js”,可在模型中创建一些默认用户。问题是,每当我运行此脚本时,它都会调用启动脚本,并在自动迁移仍未完成时尝试创建用户,从而导致自动迁移失败。我不明白为什么当我只运行自动迁移脚本时才调用启动脚本。我可以在启动脚本中调用automigrate,并将createUsers.js代码包装在其回调中(如here所示),但这会在每次启动应用程序时自动迁移,这是不希望的,因为在自动迁移时数据会丢失。我应该在哪里调用automigrate()以便可以在需要时调用它?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我通常要做的是在启动时创建一个名为util.js的脚本

util.js

class util{

    static _automigrate(){
          //Whatever you need to do
    }
}

module.exports = function (server) {
    global.util = util;
};

这样,您的脚本可在整个应用程序中使用。而且您可以在需要时调用它。

您可以通过以下方式调用它

util._automigrate();

我通常使用这种模式来存储我所有的输入验证等,因为我可能需要跨不同模型的验证。