使外键组合和唯一索引的续集。

时间:2018-07-31 11:29:48

标签: node.js postgresql sequelize.js

这是我的模特,

 var traders = sequelize.define('traders', {
   .....
  }, {});

它具有多对多的自我关联

 traders.belongsToMany(models.traders,{
    as:'feedbackClient',
    through:'feedback'
  });

想法是一个交易者可以在每次成功交易中向其他交易者提供反馈。 但是当我同步时,它会使用此SQL查询生成表

Executing (default): CREATE TABLE IF NOT EXISTS "feedbacks" ("id"  S`ERIAL , "rating" "public"."enum_feedbacks_rating", "comment" VARCHAR(255), "traderId" INTEGER REFERENCES "traders" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "feedbackClientId" INTEGER REFERENCES "traders" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, UNIQUE ("traderId", "feedbackClientId"), PRIMARY KEY ("id"));`

我如何删除此约束?

UNIQUE ("traderId", "feedbackClientId")

以便我可以使用traderId和feedbackClientId的相同组合添加多个记录。

1 个答案:

答案 0 :(得分:0)

有解决方案here,如果您有更好的解决方案,请发表您的答案。