不会创建外键吗? [英] Sequelize not creating foreign key?

查看:123
本文介绍了不会创建外键吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用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;
}

但没有结果.

不好意思:我在项目开始时就有了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

这篇关于不会创建外键吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆