我想在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"
},
...
答案 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"
},