发出请求时 LoopbackJS 和 PostgreSQL 之间的连接出错

Error on connection between LoopbackJS and PostgreSQL when making a request

我安装了 postgresql 并设置了一个新用户,并创建了一个包含我需要的表的新数据库。我还安装了环回并设置了一个 API 服务器。通过 loopback-connector-postgresql 连接 API 和数据库。当我转到 localhost:3000/explorer 并尝试发出 get 请求时,我收到错误 "message": "relation \"public.acl\" does not exist" 。我试图搜索此错误,但没有运气,我是 Loopback JS 的新手。这是完整的错误:

{
  "error": {
    "statusCode": 500,
    "name": "error",
    "message": "relation \"public.acl\" does not exist",
    "length": 109,
    "severity": "ERROR",
    "code": "42P01",
    "position": "93",
    "file": "parse_relation.c",
    "line": "1159",
    "routine": "parserOpenTable",
    "stack": "error: relation \"public.acl\" does not exist\n    at Connection.parseE (C:\Users\Adomas\Documents\ActualDocs\Projects\ReminderApp\node_modules\pg\lib\connection.js:553:11)\n    at Connection.parseMessage (C:\Users\Adomas\Documents\ActualDocs\Projects\ReminderApp\node_modules\pg\lib\connection.js:378:19)\n    at Socket.<anonymous> (C:\Users\Adomas\Documents\ActualDocs\Projects\ReminderApp\node_modules\pg\lib\connection.js:119:22)\n    at emitOne (events.js:116:13)\n    at Socket.emit (events.js:211:7)\n    at addChunk (_stream_readable.js:263:12)\n    at readableAddChunk (_stream_readable.js:250:11)\n    at Socket.Readable.push (_stream_readable.js:208:10)\n    at TCP.onread (net.js:597:20)"
  }
}

我认为问题是因为您无法为环回的内置模型创建数据库表。 ACL就是其中之一。

您可以按照此link

上的说明进行操作

将文本复制粘贴到此处以便于您查找

To create tables for LoopBack built-in models, follow this procedure:

  1. Follow the basic procedure in Attaching models to data sources to change from the in-memory data source to the database you want to use.

  2. Create server/create-lb-tables.js file with the following:

    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(); 
    }); 
    
  3. Run the script manually:

    $ cd server 
    $ node create-lb-tables.js