环回自动更新不创建自定义模型

Loopback autoupdate not creating custom models

我正在尝试使用 Loopback (V3) 创建应用程序,但我遇到了一个奇怪的错误。

我正在尝试使用 autoupdate() 创建我的 Mysql 表,但对于我的自定义模型它不起作用。

这是我迄今为止尝试过的 ->

var server = require('../server');
var ds = server.dataSources.db;

var models = ['test','Post','User', 'AccessToken', 'ACL', 'RoleMapping', 'Role'];

ds.isActual(models, function(err, actual) {
  if (!actual) {
    ds.autoupdate(null, function(err,result){
      console.log("DONE!");
      console.log(result);
    });
  };
});

脚本有效。如果数据库为空,它将为除 testPost 之外的所有内容创建表。这些是我的自定义模型,其他的是内置在环回中的。

是不是机型的问题? (尝试过 Model 和 PersistedModel)还是其他东西?我什至在没有 isActual 检查的情况下尝试过,但仍然没有。

我建议您为内置模型和自定义模型保留两个单独的数组,并编写如下代码,这样您就可以知道问题出在哪里。另外,我认为您的代码在 ds.autoupdate(null, fun..... 请按照以下代码

var builtInModels = ['AccessToken', 'ACL', 'RoleMapping','Role'];
var userDefinedModels = ['Post','test'];
// migrate built-in models
dataSource.isActual(builtInModels, function (err, actual) {
  if (!actual) {
    dataSource.autoupdate(builtInModels, function (err, result) {
      if(err) console.log(err);
      console.log('Datasource Synced: Built in models');
    });
  }
});

// migrate userdefined models
dataSource.isActual(userDefinedModels, function (err, actual) {
  if (!actual) {
    dataSource.autoupdate(userDefinedModels, function (err, result) {
      if (err) console.log(err);
      console.log('Datasource Synced: User defined models');
    });
  }
});