数据库
首页 > 数据库> > mysql – 使用WaterlineJS对多个属性的唯一性约束

mysql – 使用WaterlineJS对多个属性的唯一性约束

作者:互联网

我创建了以下连接表,以链接用户和游戏模型.

我想在(用户,脚)上创建唯一性约束.

这是我的代码:

module.exports = {

  attributes: {
    foot:{
        type: 'integer',
        foreignKey: true,
        references: 'foot',
        on: 'id'
    },
    user:{
        type: 'integer',
        foreignKey: true,
        references: 'user',
        on: 'id'        
    },
    statut:{
        type: 'integer', // 0 invited, 1 playing, 2 denied, 3 organisator
        defaultsTo: 0
    }
  }
};

我正在使用“sails-mysql”适配器.

水线是否处理,或者我应该直接在我的数据库中处理?

谢谢 !

解决方法:

之前没有做过这样的事.你的问题似乎很有趣.所以我研究了一下.在水线的github存储库中存在多个问题.一个是issue#244,另一个是issue#221.他们都没有任何迹象表明你的问题可以解决,我认为使用Waterline ORM仍然是不可能的.

但是当您使用mysql时,可以通过从数据库适配器执行原始SQL查询来实现.在config / bootstrap.js中,您可以编写脚本来检查数据库中是否存在此约束.如果它可用,那么你将不会做任何事情,但如果它不可用,那么你将创建新约束来强制执行唯一性.

我认为这不是您正在寻找的解决方案,但我担心这是您目前最好的解决方案.希望能帮助到你.

标签:waterline,mysql,node-js,sails-js
来源: https://codeday.me/bug/20190829/1763691.html