环回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。 请帮我解决这个问题。 谢谢..
因此,如链接所示,为了使用其他数据源而不是内存数据库,我们应该创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落以便重新使用。