postgresql - 水线不检查外键是否存在

标签 postgresql sails.js waterline

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

车型:汽车 主键:carId

carInGarrage:
  {
    model: 'garrage'
  }

模型:车库 primaryKey: garrageId

carsUnderMaint:
 {
   collection: 'car',
   via: 'carInGarrage'
 }

但是,当我尝试使用不存在的 garrageId 创建汽车时,sails 不会检查 garrageId 的有效性并成功地在carInGarrage 列中不存在 garrageId 的汽车表。

适配器:sails-postgresql

最佳答案

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

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

请参阅 sails model validation 上的此链接

关于postgresql - 水线不检查外键是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36052983/

相关文章:

java - 如何为 Spring Boot JPA Timestamp 指定 UTC 时区

django - 使用 Django/Postgres 获取一个计算字段,如果不存在另一个字段值,则获取一个字段值

sql - PostgreSQL 中的日期格式化

javascript - 从 sails.js/mongodb 中提取公共(public)代码

javascript - 如何在 SailsJS 中创建与另一个模型的对象单向关联的对象列表?

sails.js - 如何自动填充 url/model/<id>/association 的 sails 蓝图的嵌套关联

mysql - WaterlineJS 对多个属性的唯一性约束

postgresql - 为什么 postgres 官方 docker repo 不在构建时启动 db 服务?

node.js - 使用 sails.js 和 mongodb 查找子数组中对象 id $ 的文档

sql - 使用 Sequelize 作为 ORM 在 Sails 应用程序中使用原始查询