环回postgresql关系“public.acl”

我是新的回环,我刚刚开始实施教程https://docs.strongloop.com/display/public/LB/Connect+your+API+to+a+data+source

但是我收到错误:

[error: relation "public.acl" does not exist]. 

我搜查了很多,但无法find解决scheme。 请帮我解决这个问题。 谢谢..

如文档https://docs.strongloop.com/display/public/LB/Creating+database+tables+for+built-in+models中所述,Loopback不会自动从模型中迁移(创build)表格 – 包括内置模型。

因此,如链接所示,为了使用其他数据源而不是内存数据库,我们应该创build一个单独的脚本server/create-lb-tables.js

 var server = require('./server'); var ds = server.dataSources.postgresDS; 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(); }); 

其中postgresDS是在server/datasources.json中的数据源的名称。

最后,运行脚本来迁移表格:

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

另一个解决这个问题,而不是在postgres内部手动创build表的方法是使用相应数据源中的autoMigrate方法。

例如,如果你的数据源被称为存储你会有这样的东西:

./server/boot/migrateTables.js

 module.exports = migrateTables; function migrateTables(server) { var storage = server.datasources.storage; storage.automigrate(); } 

要小心,但是一旦你迁移了你的表,你将会想禁用这个启动脚本,因为它会删除你现有的数据库。 你可以通过简单地评论第一行来做到这一点,并在需要创build表格的情况下将其保留在angular落以便重新使用。