StrongLoop ACL表不存在

Mat*_*nat 4 acl node.js strongloop

我成功地从数据库中生成了所有模型。然后,我通过执行“ node”来运行api。我可以看到我所有的Web服务,但是当我尝试试用一项服务时,出现500错误,提示我没有ACL表。因此,我打开了model-config.json,发现之前没有创建过4个模型(用户,AccessToken,ACL,RoleMapping和Role)。我想知道数据库中是否必须存在所有这些模型。而且您知道我必须在每个表中放置哪些属性吗?预先谢谢你。

Error:
{
  "error": {
    "name": "Error",
    "status": 500,
    "message": "ER_NO_SUCH_TABLE: Table 'sed.ACL' doesn't exist",
    "code": "ER_NO_SUCH_TABLE",
    "errno": 1146,
    "sqlState": "42S02",
    "index": 0,
    "stack": "Error: ER_NO_SUCH_TABLE: Table 'sed.ACL' doesn't exist\n [...]"
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您将需要自己自动迁移这些表。看到:


小智 5

您需要自己迁移它们

  1. 按照将模型附加到数据源中的基本过程从内存数据源更改为要使用的数据库。
  2. server/create-lb-tables.js使用以下内容创建文件:

var server = require('./server'); var ds = server.dataSources.db; var lbTables = ['User', 'AccessToken', 'ACL', 'RoleMapping', 'Role']; ds.automigrate(lbTables, function(er) { if (er) throw er; console.log('Loopback tables [' - lbTables - '] created in ', ds.adapter.name); ds.disconnect(); });

  1. 手动运行脚本:

$ cd server

$ node create-lb-tables.js

有关更多详细信息,请参阅环回文档