Sequelize 不创建外键? [英] Sequelize not creating foreign key?
本文介绍了Sequelize 不创建外键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用 Sequelize 和外键时遇到了一些问题,同步时它们没有在数据库中创建
I've been having some problems with Sequelize and foreign keys, they're not created in the database when I sync
这是我的 Users.js
this is my Users.js
module.exports = function(sequelize, DataTypes) {
var Users = sequelize.define('users', {
name: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
Users.belongsTo(models.group);
}
}
});
return Users;
}
这是我的 Groups.js
and this is my Groups.js
module.exports = function(sequelize, DataTypes) {
var Group = sequelize.define("group", {
nome: DataTypes.STRING
});
return Group;
};
已经试过了:
var Group = require('./Group');
module.exports = function(sequelize, DataTypes) {
var Users = sequelize.define('users', {
name: DataTypes.STRING
});
Users.hasOne(Group);
return Users;
}
但没有结果.
Obs:我在项目开始时有 models.sequelize.sync({ force: true })
Obs: I have models.sequelize.sync({ force: true }) on project start
我错过了什么?
谢谢!
推荐答案
类似问题:classMethod 被移除https://stackoverflow.com/a/45473628/6811324
Similar issue: classMethod removed https://stackoverflow.com/a/45473628/6811324
User.hasOne(Group, {foreignKey: 'userId'}) // userId foreignKey on Group
Users.hasOne(Group); // UserId foreignKey on Group
or
Users.belongsTo(models.Group, {foreignKey: 'groupId'}); // groupId to User
这篇关于Sequelize 不创建外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文