Postgresql Waterline未检查外键是否存在

Postgresql Waterline未检查外键是否存在,postgresql,sails.js,waterline,Postgresql,Sails.js,Waterline,我创建了一个跨两个模型的一对多集合 型号:汽车 主键:carId carInGarrage: { model: 'garrage' } 型号:garrage 主键:garrageId carsUnderMaint: { collection: 'car', via: 'carInGarrage' } 但是,当我尝试创建一个不存在的garrageId的汽车时,sails没有检查garrageId的有效性,并成功地在汽车表中创建了一条记录,其中carInGarra

我创建了一个跨两个模型的一对多集合

型号:汽车 主键:carId

carInGarrage:
  {
    model: 'garrage'
  }
型号:garrage 主键:garrageId

carsUnderMaint:
 {
   collection: 'car',
   via: 'carInGarrage'
 }
但是,当我尝试创建一个不存在的
garrageId
的汽车时,sails没有检查
garrageId
的有效性,并成功地在汽车表中创建了一条记录,其中
carInGarrage
列中不存在
garrageId


适配器:
sails postgresql

我认为您需要将
required:true
添加到
carInGarrage
模型的
garrageId
属性中。所以看起来是这样的

module.exports = {
    attributes: {
        carrInGarrage: {
            garrageId: {
                required: true
            }
        }
    }
}

请参见上的此链接,我认为您需要将
required:true
添加到
carInGarrage
模型的
garrageId
属性中。所以看起来是这样的

module.exports = {
    attributes: {
        carrInGarrage: {
            garrageId: {
                required: true
            }
        }
    }
}

请参见Hi@brad上的此链接,
carInGarrage
不是车型,而是车型
car
的一个属性。简单地说,我关心的是,在一对多关系中,sails+waterline不检查外键的存在/有效性,并且盲目地接受提供的任何值。嗨@brad,
carInGarrage
不是模型,而是模型
汽车的一个属性。简单地说,我关心的是,在一对多关系中,sails+waterline不检查外键的存在/有效性,并且盲目地接受提供的任何值。