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

bihw5rsg  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(322)

我正在尝试使用loopback(v3)创建一个应用程序,但遇到了一个奇怪的错误。
我正在尝试使用 autoupdate() ,但对于我的自定义模型,它不起作用。
这是我迄今为止尝试过的->

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);
    });
  };
});

剧本很管用。如果数据库为空,它将为除 test 以及 Post . 这些是我的定制模型,其他的都内置在环回中。
是因为型号吗(试过的模型和持久化的模型)还是别的什么?我甚至试过不穿衣服 isActual 检查一下还是什么都没有。

djmepvbi

djmepvbi1#

我建议您为内置模型和自定义模型保留两个独立的数组,并编写如下代码,这样您就可以知道问题所在。另外,我认为在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');
    });
  }
});

相关问题