在Loopback

时间:2016-02-16 20:00:15

标签: postgresql loopbackjs

我想在Loopback中自动为模型生成id,以便第一个id为1001,然后是1002,1003 ......依此类推。重要的是,所有ID都超过1000.

我尝试在保存之前和保存操作挂钩之后添加了一千个id值,但是在挂钩之前没有定义id属性,并且在挂钩之后没有保存更改。我正在使用postgresql。

我该怎么做?

我在externalorder.json中的模型定义是:

{
  "name": "Externalorder",
  "base": "PersistedModel",
  "idInjection": false,
  "options": {
    "validateUpsert": true
  },
  "postgresql": {
    "schema": "public",
    "table": "externalorder"
  },
  "properties": {
    "externalorderId": {
      "type": "number",
      "id": true,
      "generated": true,
      "required": false,
      "length": null,
      "precision": 32,
      "scale": 0,
      "postgresql": {
        "columnName": "externalorder_id",
        "dataType": "integer",
        "dataLength": null,
        "dataPrecision": 32,
        "dataScale": 0,
        "nullable": "NO"
      },
      "_selectable": false,
      "comments": "tilausnumero"
    },
...

1 个答案:

答案 0 :(得分:0)

您可以使用全局唯一ID,而不是使用从0生成的默认ID。那些是大字符串,总是独一无二的。也许你也可以使用type:number作为id,从不测试它。

 {
  "name": "Externalorder",
  "base": "PersistedModel",
  "idInjection": true, // Set to true
  "options": {
    "validateUpsert": true
  },
  "postgresql": {
    "schema": "public",
    "table": "externalorder"
  },
  "properties": {
    "containerId": {
      "defaultFn" : "guid", // use globally unique id
      "type": "string"
    },