Sails.js:MySQL 中缺少水线外键关联
Posted
技术标签:
【中文标题】Sails.js:MySQL 中缺少水线外键关联【英文标题】:Sails.js : Waterline foreign key association missing in MySQL 【发布时间】:2015-07-01 15:24:13 【问题描述】:我在sails.js 中使用水线ORM。我有一个用户模型和另一个与用户模型相关联的硬币模型。
//coins.js
attributes:
name: 'string',
// Associations
userId:
model: 'user'
为此模型生成的查询是
CREATE TABLE `coins` (`name` VARCHAR(255) , `userId` INT , `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `createdAt` DATETIME , `updatedAt` DATETIME )
查询应包含 userId 的外键约束,但不包含。有解决办法吗?
【问题讨论】:
你也可以发布你的其他模型吗? 【参考方案1】:目前 waterline 不会以您描述的方式创建外键约束。它只创建关联的字段。
您可以使用不同的库来代替 Waterline,例如 Sequelize.js,这里有一个关于如何去做的链接
https://groups.google.com/forum/#!topic/sailsjs/ALMxbKfnCIo
或者您可以手动创建约束和索引。
【讨论】:
以上是关于Sails.js:MySQL 中缺少水线外键关联的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在sails.js 中禁用水线并使用不同的ORM?
MySQL 错误 1822:添加外键约束失败;缺少约束索引但索引存在