LoopBack API - 内置模型和持久性

时间:2016-06-09 05:54:25

标签: mysql node.js api strongloop loopback

我想使用Google身份验证(通过loopback-component-passport)和ACL进行访问控制来构建API。我还需要扩展标准用户模型,因为我有一些额外的数据字段。

默认情况下,forUserAccessTokenACLRoleMapping模型使用内存存储,即数据将丢失一次应用重启。所以,我的问题是:

  1. 要将数据保存到MySQL,我需要Role这些模型从内存到MySQL数据源。但是,如果我要将automigrate模型扩展为User,我是否需要在数据库中同时拥有StaffUserUser的表格?或者,我是否将StaffUser保留在内存中并将User保留在MySQL中?

  2. 护照组件添加了自己的模型(StaffUserUserIdentityUserCredentialApplicationCredential)。是否有任何理由在MySQL中保留这些内容,还是将这些保留在内存中?

1 个答案:

答案 0 :(得分:0)

  

要将数据保存到MySQL,我需要将这些模型从内存自动迁移到MySQL数据源。但是,如果我要将User模型扩展为StaffUser,我是否需要在DB中同时拥有User和StaffUser的表?或者,我是否在MySQL中保留用户内存和StaffUser?

我认为您不需要将这些模型从内存中自动迁移到数据源。相反,您应该只将应用程序model-config.json中模型的dataSource属性从默认的内存更改为您定义的数据源。如果您的应用仅使用StaffUser且不需要User,则可能不需要将用户置于MySQL中。

  

护照组件添加自己的模型(UserIdentity,UserCredential,ApplicationCredential,PassportConfigurator)。是否有任何理由在MySQL中保留这些内容,还是将这些保留在内存中?

部分"连接器"在此Strongloop article中,内存数据源仅适用于开发和调试目的。我们不应该让登录相关信息存在于内存中,并让它们在应用程序重启时消失。