我在回送应用程序中的/ bin下创建了一个自动迁移脚本,并将其路径添加到package.json文件中,这样我就可以运行该脚本以随时从终端上进行自动迁移。
我还有一个启动脚本“ createUsers.js”,可在模型中创建一些默认用户。问题是,每当我运行此脚本时,它都会调用启动脚本,并在自动迁移仍未完成时尝试创建用户,从而导致自动迁移失败。我不明白为什么当我只运行自动迁移脚本时才调用启动脚本。我可以在启动脚本中调用automigrate,并将createUsers.js代码包装在其回调中(如here所示),但这会在每次启动应用程序时自动迁移,这是不希望的,因为在自动迁移时数据会丢失。我应该在哪里调用automigrate()以便可以在需要时调用它?任何帮助将不胜感激。
答案 0 :(得分:0)
我通常要做的是在启动时创建一个名为util.js的脚本
util.js
class util{
static _automigrate(){
//Whatever you need to do
}
}
module.exports = function (server) {
global.util = util;
};
这样,您的脚本可在整个应用程序中使用。而且您可以在需要时调用它。
您可以通过以下方式调用它
util._automigrate();
我通常使用这种模式来存储我所有的输入验证等,因为我可能需要跨不同模型的验证。