为什么loopback抛出错误:`ModelDefinition`实例无效

时间:2016-01-22 16:42:26

标签: node.js express model loopbackjs strongloop

我正在考虑Strongloop。我正在尝试"入门"教程,以及人们通常想要/需要的基本功能。

我正在使用Windows和PostgresSQL,所以我创建了一个新的数据源并编辑了model-config.json以将内置模型数据源更改为这个新数据源,我们称之为lbdev

之后,我按照creating the tables for the built-in models的文档部分进行了操作。表格已创建(PgAdmin中的所有内容都很好)。我运行了资源管理器,唯一的公共API(用户)就在那里,到目前为止一直很好。

接下来,使用Arc我试图从lbdev模式(带有空表)中发现模型,但是对于每个表都会出现以下错误:

  

糟糕!出了点问题   ModelDefinition实例无效。

     

详细信息name不是唯一的(值:"用户")。

     

名称:ValidationError

     

消息ModelDefinition实例无效。详细信息:name不是唯一的(值:"用户")。

     

详细信息:{" context":" ModelDefinition","代码":{" name": ["唯一性"]},"消息":{"名称":["不是唯一的"]}}

     

请求:/ workspace / api / DataSourceDefinitions / server.lbdev / createModel

     

状态:422

就像它已经完成,但Arc中的Models树是空的。有人可以对这里发生的事情有所了解吗?

注意: another post存在类似问题,但提供的信息非常少,因此我创建了一个新信息。

1 个答案:

答案 0 :(得分:0)

将我的评论复制到答案中......

我不确定您为什么要尝试在该架构上发现模型......是否还存在其他表格?如果是这样,那么您只想将这些内容拉入,并且从内置LoopBack模型自动创建的表。如果你试图发现"你刚刚生成表格的模型,你自然会有重复的模型(它们是内置的,它们已经存在)。

如果你想管理,扩展,改变任何内置模型,那么你需要创建一个新模型并使用任何内置模型作为基础:

// common/models/visitor.json

{
  "name": "Visitor",
  "base": "User",
  // ... other options
  "properties": {
    // ... additional properties to those already on User
  },
  "acls": [
    // ... additional ACLs to those on User... careful, these might overwrite built-in restrictions!
  ],
  // ... other overwrites/additions
}