删除用户模型中未使用的元素

Removing unused elements in user model

在Strongloop中,我想扩展用户模型,但是有些字段我不需要:

username
credentials
verificationToken

当我创建数据库时,我不想为这些无用的字段创建列。最好的解决方法是什么?

现在,有一个未解决的问题:A better way for customizing built-in models

如果您仍然需要它:解决方法是先更新 /node_modules/loopback/common/models/user.json,删除不需要的字段,如:

{
  "name": "User",
  "properties": {
    "realm": {
      "type": "string"
    },
    "password": {
      "type": "string",
      "required": true
    },
    "email": {
      "type": "string",
      "required": true
    },
    "emailVerified": "boolean",
    "status": "string",
    "created": "date",
    "lastUpdated": "date"
  },
  "hidden": ["password"],
  "acls": [
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY"
    },
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "create"
    },
    {
      "principalType": "ROLE",
      "principalId": "$owner",
      "permission": "ALLOW",
      "property": "deleteById"
    },
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "login"
    },
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "logout"
    },
    {
      "principalType": "ROLE",
      "principalId": "$owner",
      "permission": "ALLOW",
      "property": "findById"
    },
    {
      "principalType": "ROLE",
      "principalId": "$owner",
      "permission": "ALLOW",
      "property": "updateAttributes"
    },
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "confirm"
    },
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW",
      "property": "resetPassword",
      "accessType": "EXECUTE"
    }
  ],
  "relations": {
    "accessTokens": {
      "type": "hasMany",
      "model": "AccessToken",
      "foreignKey": "userId",
      "options": {
        "disableInclude": true
      }
    }
  }
}

注意:我还删除了挑战,因为它现在已弃用。

然后你可以扩展它。对于 sql 数据库,您可以创建相应的表,如 model.json